Generated Negative Samples (Label 0) - Total 4068 Pairs

These pairs represent functions from different clone groups (different logic).

Pair #1 Negative (Non-Clone)
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
Pair #2 Negative (Non-Clone)
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3 Negative (Non-Clone)
ID: 2516_2075
ClassID: 2516
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsoleHelper.java
Name: org.apache.camel.impl.console.ConsoleHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt > 0) {
            int pos = location.lastIndexOf(':');
             
            if (pos < location.length() - 1) {
                String num = location.substring(pos + 1);
                try {
                    return Integer.valueOf(num);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 2258_1784
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/collection/FindCollectionOperation.java
Name: org.apache.camel.component.nitrite.operation.collection.FindCollectionOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        NitriteCollection collection = (NitriteCollection) endpoint.getNitriteCollection();
        if (filter != null && findOptions != null) {
            exchange.getMessage().setBody(collection.find(filter, findOptions));
        } else if (filter != null) {
            exchange.getMessage().setBody(collection.find(filter));
        } else {
            exchange.getMessage().setBody(collection.find());
        }

    }
Pair #4 Negative (Non-Clone)
ID: 2647_2303
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName, boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
    public boolean setProperty(
            CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName,
            boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
            throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, typeConverter, target, name, value, refName, allowBuilderPattern,
                allowPrivateSetter, ignoreCase);
    }
ID: 1914_1577
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
Pair #5 Negative (Non-Clone)
ID: 2529_2101
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderDataFormatResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("dataformat:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(11));
            }
        }
        return !stubbed;
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #6 Negative (Non-Clone)
ID: 18_26
ClassID: 18
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer target = (org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer) obj;
        switch (key) {
        case "query":
        case "QUERY": target.onQuery(exchange.getMessage()); return null;
        case "stats":
        case "STATS": target.onStats(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
Pair #7 Negative (Non-Clone)
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
ID: 2364_1862
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createChunksHandler(String modelId, StreamMetadata metadata, List<String> chunks, Consumer<String> chunkConsumer)
    public static InvokeModelWithResponseStreamResponseHandler createChunksHandler(
            String modelId,
            StreamMetadata metadata,
            List<String> chunks,
            Consumer<String> chunkConsumer) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);

                                if (text != null && !text.isEmpty()) {
                                    chunks.add(text);
                                    if (chunkConsumer != null) {
                                        chunkConsumer.accept(text);
                                    }
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setChunks(chunks);
                })
                .build();
    }
Pair #8 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #9 Negative (Non-Clone)
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
Pair #10 Negative (Non-Clone)
ID: 1856_1513
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 2656_2325
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/SupportsSagaProcessor.java
Name: org.apache.camel.processor.saga.SupportsSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                             
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
Pair #11 Negative (Non-Clone)
ID: 305_368
ClassID: 305
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 1784_1465
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (socketConnectors != null) {
            answer = socketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
Pair #12 Negative (Non-Clone)
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
ID: 378_414
ClassID: 378
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
        public Destination resolveDestinationName(
                Session session, String destinationName,
                boolean pubSubDomain)
                throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.resolveDestinationName(session, destinationName, pubSubDomain);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
Pair #13 Negative (Non-Clone)
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
Pair #14 Negative (Non-Clone)
ID: 3110_2397
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsAdapter.java
Name: org.apache.camel.model.app.BeanConstructorsAdapter.marshal(Map<Integer, Object> v)
    public BeanConstructorsDefinition marshal(Map<Integer, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanConstructorDefinition[] result = new BeanConstructorDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<Integer, Object> entry : v.entrySet()) {
            Integer idx = entry.getKey();
            Object value = entry.getValue();
            BeanConstructorDefinition pd = new BeanConstructorDefinition();
            if (idx != null) {
                pd.setIndex(idx);
            }
            pd.setValue(value.toString());
            result[pos++] = pd;
        }
        BeanConstructorsDefinition def = new BeanConstructorsDefinition();
        def.setConstructors(Arrays.asList(result));
        return def;
    }
ID: 1401_1247
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        byte[] message = getShortMessage(exchange.getIn());

        ReplaceSm replaceSm = createReplaceSmTempate(exchange);
        replaceSm.setShortMessage(message);

        if (log.isDebugEnabled()) {
            log.debug("Sending replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        try {
            session.replaceShortMessage(
                    replaceSm.getMessageId(),
                    TypeOfNumber.valueOf(replaceSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(replaceSm.getSourceAddrNpi()),
                    replaceSm.getSourceAddr(),
                    replaceSm.getScheduleDeliveryTime(),
                    replaceSm.getValidityPeriod(),
                    new RegisteredDelivery(replaceSm.getRegisteredDelivery()),
                    replaceSm.getSmDefaultMsgId(),
                    replaceSm.getShortMessage());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Sent replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        Message rspMsg = ExchangeHelper.getResultMessage(exchange);
        rspMsg.setHeader(SmppConstants.ID, replaceSm.getMessageId());
    }
Pair #15 Negative (Non-Clone)
ID: 3108_2393
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
Name: org.apache.camel.model.RoutesDefinition.createRoute()
    protected RouteDefinition createRoute() {
        RouteDefinition route = new RouteDefinition();
        route.setCamelContext(getCamelContext());
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            route.setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            route.setResource(resource);
        }
        return route;
    }
ID: 103_77
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void createIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                Response response
                        = keycloakClient.realm(realmName).identityProviders().create((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException(
                    "Create identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #16 Negative (Non-Clone)
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 2098_1695
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPClient client = ftpClient;

        if (client == null) {
             
             
            client = createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (getConfiguration().getActivePortRange() != null) {
             
            String[] parts = getConfiguration().getActivePortRange().split("-");
            if (parts.length != 2) {
                throw new IllegalArgumentException("The option activePortRange should have syntax: min-max");
            }
            int min = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[0]);
            int max = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[1]);
            LOG.debug("Using active port range: {}-{}", min, max);
            client.setActivePortRange(min, max);
        }

         
        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpOperations operations = new FtpOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #17 Negative (Non-Clone)
ID: 3218_2499
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn(
                        "Ignoring bad converter on type: {} method: {} as a converter method is not a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    Class<?> fromType = method.getParameterTypes()[0];
                    if (isStatic(modifiers)) {
                        registerTypeConverter(registry, method, toType, fromType,
                                new StaticMethodTypeConverter(method, allowNull));
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerTypeConverter(registry, method, toType, fromType,
                                new InstanceMethodTypeConverter(injector, method, registry, allowNull));
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method should have one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
ID: 379_416
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/ClassicJmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.ClassicJmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
Pair #18 Negative (Non-Clone)
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 2598_2215
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnum(final String key)
    public <T extends Enum<T>> T getEnum(final String key) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        value = this.getStringOrDefault(key, "");
        if (value == null) {
            return null;
        }
         
        splitValues = value.split("\\.");
        numberOfSplitValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfSplitValues; i++) {
            if (i == (numberOfSplitValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfSplitValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
Pair #19 Negative (Non-Clone)
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #20 Negative (Non-Clone)
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #21 Negative (Non-Clone)
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
Pair #22 Negative (Non-Clone)
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
Pair #23 Negative (Non-Clone)
ID: 182_171
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeApiClient.tryToReadResponse(final Class<T> expectedType, final InputStream responseStream)
    <T> Optional<T> tryToReadResponse(final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJson(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
Pair #24 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #25 Negative (Non-Clone)
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #26 Negative (Non-Clone)
ID: 697_637
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsertList(Exchange exchange, SqlSession session)
    private void doInsertList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Inserting: {} using statement: {}", in, statement);
            result = session.insert(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
Pair #27 Negative (Non-Clone)
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
ID: 384_430
ClassID: 384
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!getEndpoint().isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #28 Negative (Non-Clone)
ID: 2189_1725
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.untagDroplet(Exchange exchange)
    private void untagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().untagResources(dropletId.toString(), resources);
        LOG.trace("Untag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #29 Negative (Non-Clone)
ID: 176_154
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeSyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void executeSyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final boolean useGet = reportMetadata == null;
        final Request request
                = getRequest(useGet ? HttpMethod.GET : HttpMethod.POST, reportsUrl(reportId, includeDetails), headers);

         
        if (!useGet) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                SyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, SyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 2566_2145
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateMimeTypeHelper.java
Name: org.apache.camel.maven.packaging.UpdateMimeTypeHelper.updateMimeTypeHelper(File camelDir, Map<String, String> types)
    private boolean updateMimeTypeHelper(File camelDir, Map<String, String> types) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/MimeTypeHelper.java");
        String text = PackageHelper.loadText(java);
        String spaces4 = "    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner("\n");
        for (var e : types.entrySet()) {
            sb.add(spaces12 + "case \"" + e.getKey() + "\" -> \"" + e.getValue() + "\";");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, TYPES_START_TOKEN, TYPES_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, TYPES_START_TOKEN);
                String after = Strings.after(text, TYPES_END_TOKEN);
                text = before + TYPES_START_TOKEN + "\n" + spaces12 + changed + "\n" + spaces12 + TYPES_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #30 Negative (Non-Clone)
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
ID: 2363_1856
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode response = node.get("response");
        if (response != null) {
            JsonNode meta = response.get("meta");
            if (meta != null) {
                JsonNode tokens = meta.get("tokens");
                if (tokens != null) {
                    JsonNode outputTokens = tokens.get("output_tokens");
                    return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
                }
            }
        }
        return null;
    }
Pair #31 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
Pair #32 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #33 Negative (Non-Clone)
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 309_379
ClassID: 309
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/AbstractHttpSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.AbstractHttpSegmentDecorator.getHttpUrl(Exchange exchange, Endpoint endpoint)
    protected String getHttpUrl(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #34 Negative (Non-Clone)
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
Pair #35 Negative (Non-Clone)
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
Pair #36 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
Pair #37 Negative (Non-Clone)
ID: 2364_1862
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createChunksHandler(String modelId, StreamMetadata metadata, List<String> chunks, Consumer<String> chunkConsumer)
    public static InvokeModelWithResponseStreamResponseHandler createChunksHandler(
            String modelId,
            StreamMetadata metadata,
            List<String> chunks,
            Consumer<String> chunkConsumer) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);

                                if (text != null && !text.isEmpty()) {
                                    chunks.add(text);
                                    if (chunkConsumer != null) {
                                        chunkConsumer.accept(text);
                                    }
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setChunks(chunks);
                })
                .build();
    }
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
Pair #38 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #39 Negative (Non-Clone)
ID: 174_135
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback)
    public void getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback) {
        final Request request = getRequest(HttpMethod.GET, reportsUrl(), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
        });
    }
ID: 2656_2323
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/MandatorySagaProcessor.java
Name: org.apache.camel.processor.saga.MandatorySagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator == null) {
                exchange.setException(new CamelExchangeException("Exchange is not part of a saga", exchange));
                callback.done(false);
            } else {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            }
        }));
        return false;
    }
Pair #40 Negative (Non-Clone)
ID: 1008_870
ClassID: 1008
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ClientEntitySet) {
            index((ClientEntitySet) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else {
            indexDefault(result);
        }
    }
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #41 Negative (Non-Clone)
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
ID: 104_93
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientRole(Keycloak keycloakClient, Exchange exchange)
    private void createClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).clients().get(clientUuid).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Client role created successfully");
        }
    }
Pair #42 Negative (Non-Clone)
ID: 2472_2011
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInflight.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInflight.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("inflight");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.fromRouteId = jo.getString("fromRouteId");
                                    Boolean bool = jo.getBoolean("fromRemoteEndpoint");
                                    if (bool != null) {
                                         
                                        remoteVisible.set(true);
                                        row.fromRemoteEndpoint = bool;
                                    }
                                    row.atRouteId = jo.getString("atRouteId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.elapsed = jo.getLong("elapsed");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("REMOTE").visible(remoteVisible.get()).dataAlign(HorizontalAlign.CENTER)
                            .with(this::getRemote),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.atRouteId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.RIGHT).with(this::getElapsed),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 1490_1328
ClassID: 1490
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.deserializeJavaObjectFromStream(InputStream is, CamelContext context)
    public static Object deserializeJavaObjectFromStream(InputStream is, CamelContext context)
            throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new CamelObjectInputStream(is, context);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #43 Negative (Non-Clone)
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
Pair #44 Negative (Non-Clone)
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 230_275
ClassID: 230
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<ShareFileItem> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<ShareFileItem> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<ShareFileItem> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<ShareFileItem> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #45 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #46 Negative (Non-Clone)
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 485_514
ClassID: 485
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
Name: org.apache.camel.catalog.DefaultVersionManager.getResourceAsStream(String name)
    public InputStream getResourceAsStream(String name) {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(name);
        }
        if (is == null) {
            is = DefaultCamelCatalog.class.getClassLoader().getResourceAsStream(name);
        }
        return is;
    }
Pair #47 Negative (Non-Clone)
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
ID: 1160_991
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.to(String uri, Object data)
    public Publisher<Exchange> to(String uri, Object data) {
        requestedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from("reactive-streams:" + uuid)
                                .to(u);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create requested reactive stream from direct URI: " + uri, e);
            }
        });
        return toStream(requestedUriToStream.get(uri), data);
    }
Pair #48 Negative (Non-Clone)
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 185_178
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getRequest(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getRequest(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchRequestUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #49 Negative (Non-Clone)
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
Pair #50 Negative (Non-Clone)
ID: 1164_999
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.close()
    public void close() throws IOException {
        Subscription subscription;
        lock.lock();
        try {
            subscription = this.subscription;
        } finally {
            lock.unlock();
        }

        if (subscription != null) {
            subscription.cancel();
        }
    }
ID: 3244_2575
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertHeaderReifier.java
Name: org.apache.camel.reifier.ConvertHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertHeaderProcessor answer
                = new ConvertHeaderProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #51 Negative (Non-Clone)
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #52 Negative (Non-Clone)
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #53 Negative (Non-Clone)
ID: 1000_854
ClassID: 1000
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createOlingo4App(Olingo4Configuration configuration)
    private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (IOException | GeneralSecurityException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo4AppImpl olingo4App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo4AppWrapper(olingo4App);
        apiProxy.getOlingo4App().setContentType(configuration.getContentType());
        apiProxy.getOlingo4App().setHttpHeaders(configuration.getHttpHeaders());

        return apiProxy;
    }
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #54 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 893_749
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusEndpoint.java
Name: org.apache.camel.component.milvus.MilvusEndpoint.getClient()
    public MilvusClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
Pair #55 Negative (Non-Clone)
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 1187_1012
ClassID: 1187
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doHasNext()
    protected boolean doHasNext() {
        try {
            if (zipInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = currentEntry != null;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    zipInputStream.close();
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #56 Negative (Non-Clone)
ID: 240_301
ClassID: 240
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("aws")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("aws");
            if (pf instanceof SecretsManagerPropertiesFunction) {
                propertiesFunction = (SecretsManagerPropertiesFunction) pf;
            }
        }
        AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
        if (aws != null && aws.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(CloudTrailReloadTriggerTask.class);
        }
    }
ID: 1423_1268
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.close()
    public void close() {
        if (acceptorThread != null) {
            lock.lock();
            try {
                try {
                     
                    if (serversocket != null) {
                        serversocket.close();
                    }
                } catch (IOException e) {
                    LOG.debug(e.getMessage(), e);
                } finally {
                    acceptorThread = null;
                    listenerService = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #57 Negative (Non-Clone)
ID: 2024_1641
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn(
                    "Reply received for unknown correlationID [{}] on reply destination [{}]. Current correlation map size: {}. The message will be ignored: {}",
                    correlationID, replyTo, correlation.size(), message);
        }
    }
ID: 2048_1665
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotent(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotent(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRepositoryReadLockStrategy readLockStrategy = new FileIdempotentRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #58 Negative (Non-Clone)
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #59 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #60 Negative (Non-Clone)
ID: 440_461
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setOut(Exchange exchange, Object payload)
    public static void setOut(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getOut().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getOut().setHeaders(exchange.getIn().getHeaders());
            exchange.getOut().setBody(payload);
        }
    }
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
Pair #61 Negative (Non-Clone)
ID: 897_750
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
Pair #62 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 189_204
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCloseJob(final Exchange exchange, final AsyncCallback callback)
    private void processCloseJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.closeJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #63 Negative (Non-Clone)
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #64 Negative (Non-Clone)
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #65 Negative (Non-Clone)
ID: 680_609
ClassID: 680
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MetricsRoutePolicy answer = new MetricsRoutePolicy();
        answer.setMetricsRegistry(getMetricsRegistry());
        answer.setUseJmx(isUseJmx());
        answer.setJmxDomain(getJmxDomain());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setRateUnit(getRateUnit());
        answer.setDurationUnit(getDurationUnit());
        if (namePattern != null) {
            answer.setNamePattern(namePattern);
        }
        return answer;
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #66 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #67 Negative (Non-Clone)
ID: 175_151
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
Pair #68 Negative (Non-Clone)
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
ID: 25_40
ClassID: 25
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
Pair #69 Negative (Non-Clone)
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #70 Negative (Non-Clone)
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
Pair #71 Negative (Non-Clone)
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
ID: 1217_1042
ClassID: 1217
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.performOperation(Exchange exchange, StripeOperation operation, String method)
    private Object performOperation(Exchange exchange, StripeOperation operation, String method) throws Exception {
        switch (operation) {
            case CHARGES:
                return handleCharges(exchange, method);
            case CUSTOMERS:
                return handleCustomers(exchange, method);
            case PAYMENT_INTENTS:
                return handlePaymentIntents(exchange, method);
            case PAYMENT_METHODS:
                return handlePaymentMethods(exchange, method);
            case REFUNDS:
                return handleRefunds(exchange, method);
            case SUBSCRIPTIONS:
                return handleSubscriptions(exchange, method);
            case INVOICES:
                return handleInvoices(exchange, method);
            case PRODUCTS:
                return handleProducts(exchange, method);
            case PRICES:
                return handlePrices(exchange, method);
            case BALANCE_TRANSACTIONS:
                return handleBalanceTransactions(exchange, method);
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #72 Negative (Non-Clone)
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #73 Negative (Non-Clone)
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #74 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #75 Negative (Non-Clone)
ID: 239_294
ClassID: 239
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/vault/IBMEventStreamReloadTriggerTask.java
Name: org.apache.camel.component.ibm.secrets.manager.vault.IBMEventStreamReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
Pair #76 Negative (Non-Clone)
ID: 2656_2325
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/SupportsSagaProcessor.java
Name: org.apache.camel.processor.saga.SupportsSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                             
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 1905_1569
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedPropertiesMDC(Exchange exchange, boolean push)
    private void userSelectedPropertiesMDC(Exchange exchange, boolean push) {
        for (String customProperty : getCustomProperties().split(",")) {
            if (exchange.getProperty(customProperty) != null) {
                if (push) {
                    MDC.put(customProperty, exchange.getProperty(customProperty, String.class));
                } else {
                    MDC.remove(customProperty);
                }
            }
        }
    }
Pair #77 Negative (Non-Clone)
ID: 658_592
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/FlavorsProducer.java
Name: org.apache.camel.component.openstack.nova.producer.FlavorsProducer.messageToFlavor(Message message)
    private org.openstack4j.model.compute.Flavor messageToFlavor(Message message) {
        Flavor flavor = message.getBody(Flavor.class);
        if (flavor == null) {
            Map headers = message.getHeaders();
            FlavorBuilder flavorBuilder = Builders.flavor();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            flavorBuilder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.VCPU)) {
                flavorBuilder.vcpus(message.getHeader(NovaConstants.VCPU, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RAM)) {
                flavorBuilder.ram(message.getHeader(NovaConstants.RAM, Integer.class));
            }

            if (headers.containsKey(NovaConstants.DISK)) {
                flavorBuilder.disk(message.getHeader(NovaConstants.DISK, Integer.class));
            }

            if (headers.containsKey(NovaConstants.SWAP)) {
                flavorBuilder.swap(message.getHeader(NovaConstants.SWAP, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RXTXFACTOR)) {
                flavorBuilder.rxtxFactor(message.getHeader(NovaConstants.RXTXFACTOR, Integer.class));
            }

            flavor = flavorBuilder.build();
        }

        return flavor;
    }
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #78 Negative (Non-Clone)
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #79 Negative (Non-Clone)
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 9_1
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, Cache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "Cache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
Pair #80 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #81 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #82 Negative (Non-Clone)
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #83 Negative (Non-Clone)
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #84 Negative (Non-Clone)
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #85 Negative (Non-Clone)
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #86 Negative (Non-Clone)
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
Pair #87 Negative (Non-Clone)
ID: 2472_2010
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVariable.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListVariable.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jv = (JsonObject) root.get("variables");
                        if (jv != null) {
                            for (String id : jv.keySet()) {
                                JsonArray arr = jv.getCollection(id);
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.id = id;
                                        row.key = jo.getString("key");
                                        row.type = jo.getString("type");
                                        row.value = jo.get("value");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("REPO").headerAlign(HorizontalAlign.CENTER).with(r -> r.id),
                    new Column().header("TYPE").headerAlign(HorizontalAlign.CENTER)
                            .maxWidth(40, OverflowBehaviour.ELLIPSIS_LEFT).with(r -> r.type),
                    new Column().header("KEY").dataAlign(HorizontalAlign.LEFT).maxWidth(50, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.key),
                    new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).maxWidth(80, OverflowBehaviour.NEWLINE)
                            .with(this::getValue))));
        }

        return 0;
    }
ID: 2573_2158
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
Name: org.apache.camel.maven.packaging.PackageLanguageMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #88 Negative (Non-Clone)
ID: 901_774
ClassID: 901
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.getEndpointConfiguration(GoogleSheetsApiName apiName)
    public GoogleSheetsConfiguration getEndpointConfiguration(GoogleSheetsApiName apiName) {
        GoogleSheetsConfiguration result = null;
        switch (apiName) {
            case SPREADSHEETS:
                result = new SheetsSpreadsheetsEndpointConfiguration();
                break;
            case DATA:
                result = new SheetsSpreadsheetsValuesEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #89 Negative (Non-Clone)
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #90 Negative (Non-Clone)
ID: 2506_2055
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/ToolingSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.ToolingSupport.combine(String... items)
    public static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #91 Negative (Non-Clone)
ID: 597_552
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
Name: org.apache.camel.component.fhir.FhirJsonDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newJsonParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));

        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
Pair #92 Negative (Non-Clone)
ID: 3278_2665
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotEqualTo(final Expression left, final Expression right)
    public static Predicate isNotEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "!=";
            }
        };
    }
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
Pair #93 Negative (Non-Clone)
ID: 190_211
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeSObjectCollectionsProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        final String apiVersion = configuration.getApiVersion();

        compositeClient = new DefaultCompositeSObjectCollectionsApiClient(
                configuration, apiVersion, session, httpClient, loginConfig);

        if (classMap == null) {
            this.classMap = endpoint.getComponent().getClassMap();
        }
        ServiceHelper.startService(compositeClient);
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #94 Negative (Non-Clone)
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #95 Negative (Non-Clone)
ID: 1063_921
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlVerifierProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlVerifierProcessor.build()
        XmlSignatureChecker.Input build() {
            return new XmlSignatureChecker.Input() {

                @Override
                public boolean isXmlSchemaValidationExecuted() {
                    return xmlSchemaValidationExecuted;
                }

                @Override
                public int getTotalCountOfSignatures() {
                    return totalCountOfSignatures;
                }

                @Override
                public SignedInfo getSignedInfo() {
                    return signedInfo;
                }

                @Override
                public SignatureValue getSignatureValue() {
                    return signatureValue;
                }

                @Override
                public List<? extends XMLObject> getObjects() {
                    return objects;
                }

                @Override
                public Document getMessageBodyDocument() {
                    return messageBodyDocument;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public Element getCurrentSignatureElement() {
                    return currentSignatureElement;
                }

                @Override
                public int getCurrentCountOfSignatures() {
                    return currentCountOfSignatures;
                }
            };
        }
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #96 Negative (Non-Clone)
ID: 2229_1745
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doAdd(Exchange exchange, String operation)
    protected void doAdd(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.add().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1993_1635
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromAdmin(Message message, SessionID sessionID)
        public void fromAdmin(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
            try {
                dispatch(QuickfixjEventCategory.AdminMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, RejectLogon.class);
                throw new DispatcherException(e);
            }
        }
Pair #97 Negative (Non-Clone)
ID: 2482_2035
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #98 Negative (Non-Clone)
ID: 2365_1864
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange)
    private void processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange) {
        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            org.apache.camel.Message message = getMessageForResponse(exchange);
            org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata metadata
                    = new org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createChunksHandler(
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createCompleteHandler(
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Converse Stream command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
Pair #99 Negative (Non-Clone)
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
Pair #100 Negative (Non-Clone)
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #101 Negative (Non-Clone)
ID: 1406_1257
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, AlertNotification alertNotification)
    public SmppMessage createSmppMessage(CamelContext camelContext, AlertNotification alertNotification) {
        SmppMessage smppMessage = new SmppMessage(camelContext, alertNotification, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.AlertNotification.toString());
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, alertNotification.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, alertNotification.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, alertNotification.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, alertNotification.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, alertNotification.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, alertNotification.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.ESME_ADDR, alertNotification.getEsmeAddr());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_NPI, alertNotification.getEsmeAddrNpi());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_TON, alertNotification.getEsmeAddrTon());

        return smppMessage;
    }
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #102 Negative (Non-Clone)
ID: 25_40
ClassID: 25
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
Pair #103 Negative (Non-Clone)
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 2664_2346
ClassID: 2664
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return message;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #104 Negative (Non-Clone)
ID: 412_445
ClassID: 412
File: systems/camel-java/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
Name: org.apache.camel.component.rest.RestProducer.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 443_467
ClassID: 443
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    configuration.getPassphrase().toCharArray());
        }

        return answer;
    }
Pair #105 Negative (Non-Clone)
ID: 2472_2009
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListBlocked.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListBlocked.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("blocked");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.routeId = jo.getString("routeId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.routeId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 104_90
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientScope(Keycloak keycloakClient, Exchange exchange)
    private void createClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                Response response = keycloakClient.realm(realmName).clientScopes().create((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientScopeRepresentation clientScope = new ClientScopeRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME))) {
                String scopeName = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME, String.class);
                clientScope.setName(scopeName);
            } else {
                throw new IllegalArgumentException("Client scope name must be specified");
            }
            Response response = keycloakClient.realm(realmName).clientScopes().create(clientScope);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #106 Negative (Non-Clone)
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #107 Negative (Non-Clone)
ID: 25_39
ClassID: 25
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #108 Negative (Non-Clone)
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 2042_1650
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getDirectoryPermissions()
    public Set<PosixFilePermission> getDirectoryPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmodDirectory)) {
            return permissions;
        }

         
        String chmodString = chmodDirectory.substring(chmodDirectory.length() - 3);

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
Pair #109 Negative (Non-Clone)
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #110 Negative (Non-Clone)
ID: 1137_972
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestFilesProducer.java
Name: org.apache.camel.component.github.producer.PullRequestFilesProducer.PullRequestFilesProducer(GitHubEndpoint endpoint)
    public PullRequestFilesProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            LOG.debug("Using PullRequestService found in registry {}", service.getClass().getCanonicalName());
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 3250_2595
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteConfigurationRefs()
    protected void initRouteConfigurationRefs() throws Exception {
         
        if (getRouteConfigurationRefs() != null) {
            for (RouteConfigurationContextRefDefinition ref : getRouteConfigurationRefs()) {
                List<RouteConfigurationDefinition> defs = ref.lookupRouteConfigurations(getContext());
                for (RouteConfigurationDefinition def : defs) {
                    LOG.debug("Adding route configuration from {} -> {}", ref, def);
                    getRouteConfigurations().add(def);
                }
            }
        }
    }
Pair #111 Negative (Non-Clone)
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 1751_1454
ClassID: 1751
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (folder == null) {
             
            return;
        }
        if (!scheduler) {
             
            return;
        }

        File dir = new File(folder);
        if (dir.exists() && dir.isDirectory()) {
            String msg = startupMessage(dir);
            if (msg != null) {
                LOG.info(msg);
            }

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.debug(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                 
                if (isRecursive) {
                    this.folderKeys = new HashMap<>();
                    registerRecursive(watcher, path, modifier);
                } else {
                    registerPathToWatcher(modifier, path, watcher);
                }

                task = new WatchFileChangesTask(watcher, path);

                executorService = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this,
                        "FileWatcherReloadStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #112 Negative (Non-Clone)
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #113 Negative (Non-Clone)
ID: 685_622
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #114 Negative (Non-Clone)
ID: 103_80
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateUser(Keycloak keycloakClient, Exchange exchange)
    private void updateUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                keycloakClient.realm(realmName).users().get(userId).update((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("User updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update user requires POJO request with UserRepresentation");
        }
    }
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #115 Negative (Non-Clone)
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1852_1504
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPublicKeyToPEM(publicKey);
            case DER:
            case X509:
                return publicKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for public key: " + format);
        }
    }
Pair #116 Negative (Non-Clone)
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
ID: 1984_1627
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PromptInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PromptInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionCategory> detectedCategories = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (pattern.getPattern().matcher(text).find()) {
                if (!detectedCategories.contains(pattern.getCategory())) {
                    detectedCategories.add(pattern.getCategory());
                }

                 
                if (strict) {
                    return failure(
                            String.format("Potential prompt injection detected: %s pattern. " +
                                          "Please rephrase your request.",
                                    pattern.getCategory()));
                }
            }
        }

         
        if (detectedCategories.size() >= 2) {
            return failure(
                    String.format("Potential prompt injection detected: multiple suspicious patterns (%s). " +
                                  "Please rephrase your request.",
                            detectedCategories));
        }

        return success();
    }
Pair #117 Negative (Non-Clone)
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
Pair #118 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #119 Negative (Non-Clone)
ID: 126_117
ClassID: 126
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #120 Negative (Non-Clone)
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
Pair #121 Negative (Non-Clone)
ID: 3161_2408
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedStep(String id)
    public ManagedStepMBean getManagedStep(String id) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForStep(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1905_1569
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedPropertiesMDC(Exchange exchange, boolean push)
    private void userSelectedPropertiesMDC(Exchange exchange, boolean push) {
        for (String customProperty : getCustomProperties().split(",")) {
            if (exchange.getProperty(customProperty) != null) {
                if (push) {
                    MDC.put(customProperty, exchange.getProperty(customProperty, String.class));
                } else {
                    MDC.remove(customProperty);
                }
            }
        }
    }
Pair #122 Negative (Non-Clone)
ID: 2295_1813
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
Pair #123 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
Pair #124 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #125 Negative (Non-Clone)
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
Pair #126 Negative (Non-Clone)
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #127 Negative (Non-Clone)
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2296_1817
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildAsyncClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkAsyncClientBuilder<B, C>, C extends SdkClient> C buildAsyncClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        NettyNioAsyncHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring async proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            software.amazon.awssdk.http.nio.netty.ProxyConfiguration proxyConfig
                    = software.amazon.awssdk.http.nio.netty.ProxyConfiguration.builder()
                            .scheme(config.getProxyProtocol().toString())
                            .host(config.getProxyHost())
                            .port(config.getProxyPort())
                            .build();
            httpClientBuilder = NettyNioAsyncHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = NettyNioAsyncHttpClient.builder();
            }
            SdkAsyncHttpClient asyncHttpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(asyncHttpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #128 Negative (Non-Clone)
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
Pair #129 Negative (Non-Clone)
ID: 576_547
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.listObjects(MinioClient minioClient, Exchange exchange)
    private void listObjects(MinioClient minioClient, Exchange exchange) throws InvalidPayloadException {

        if (getConfiguration().isPojoRequest()) {
            ListObjectsArgs.Builder payload = exchange.getIn().getMandatoryBody(ListObjectsArgs.Builder.class);
            if (isNotEmpty(payload)) {
                Iterable<Result<Item>> objectList = minioClient.listObjects(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(objectList);
            }
        } else {
            final String bucketName = determineBucketName(exchange);

            Iterable<Result<Item>> objectList = minioClient.listObjects(ListObjectsArgs.builder()
                    .bucket(bucketName)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(objectList);
        }
    }
ID: 680_609
ClassID: 680
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MetricsRoutePolicy answer = new MetricsRoutePolicy();
        answer.setMetricsRegistry(getMetricsRegistry());
        answer.setUseJmx(isUseJmx());
        answer.setJmxDomain(getJmxDomain());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setRateUnit(getRateUnit());
        answer.setDurationUnit(getDurationUnit());
        if (namePattern != null) {
            answer.setNamePattern(namePattern);
        }
        return answer;
    }
Pair #130 Negative (Non-Clone)
ID: 2231_1751
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteTag(String operation)
    protected void doDeleteTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tagDelete().setTags(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #131 Negative (Non-Clone)
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #132 Negative (Non-Clone)
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
Pair #133 Negative (Non-Clone)
ID: 2532_2107
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key)
    public Optional<Object> newInstance(String key) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<Object> answer = super.newInstance(key);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            Object obj = ResolverHelper.resolveService(camelContext, finder, key, Object.class).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
Pair #134 Negative (Non-Clone)
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
Pair #135 Negative (Non-Clone)
ID: 3278_2662
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.contains(final Expression left, final Expression right)
    public static Predicate contains(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, false);
            }

            protected String getOperationText() {
                return "contains";
            }
        };
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #136 Negative (Non-Clone)
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
Pair #137 Negative (Non-Clone)
ID: 51_64
ClassID: 51
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
Name: org.apache.camel.component.file.remote.SftpOperations.forceDisconnect()
    public void forceDisconnect() throws GenericFileOperationFailedException {
        lock.lock();
        try {
            if (session != null) {
                session.disconnect();
            }
            if (channel != null) {
                channel.disconnect();
            }
        } finally {
             
            session = null;
            channel = null;
            lock.unlock();
        }
    }
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
Pair #138 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
Pair #139 Negative (Non-Clone)
ID: 2092_1682
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getFtpFiles(String dir)
    private FTPFile[] getFtpFiles(String dir) {
        FTPFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
Pair #140 Negative (Non-Clone)
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #141 Negative (Non-Clone)
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #142 Negative (Non-Clone)
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
Pair #143 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #144 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #145 Negative (Non-Clone)
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #146 Negative (Non-Clone)
ID: 1187_1014
ClassID: 1187
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.hasNext()
    public boolean hasNext() {
        try {
            if (tarInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = tarInputStream.getCurrentEntry() != null && tarInputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    tarInputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
                if (first && parent == null) {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 220_259
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.storage.downloadTo");

        if (message.getHeaders().containsKey(GoogleCloudStorageConstants.BUCKET_NAME)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.storage.bucket." + message.getHeader(GoogleCloudStorageConstants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #147 Negative (Non-Clone)
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
Pair #148 Negative (Non-Clone)
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #149 Negative (Non-Clone)
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
Pair #150 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #151 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #152 Negative (Non-Clone)
ID: 2640_2282
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeaders(Map<String, Object> headers)
    public FluentProducerTemplate withHeaders(Map<String, Object> headers) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeaders and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.putAll(headers);
        return clone;
    }
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
Pair #153 Negative (Non-Clone)
ID: 1255_1098
ClassID: 1255
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
Pair #154 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2505_2054
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter)
    public static List<MethodInfo> methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter) {
        List<MethodInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (MethodInfo methodInfo : current.methods()) {
                if (filter.test(methodInfo)) {
                    answer.add(methodInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #155 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #156 Negative (Non-Clone)
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #157 Negative (Non-Clone)
ID: 689_629
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpsert(Exchange exchange, String tableName)
    private void doUpsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Upsert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Upsert upsert = table.newUpsert();
        PartialRow row = upsert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(upsert);
    }
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
Pair #158 Negative (Non-Clone)
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #159 Negative (Non-Clone)
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
ID: 1422_1266
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.run()
        public void run() {
             
            LOG.info("Listening on port {}", serversocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {

                     
                    final Socket inSocket = serversocket.accept();

                     
                    final Thread t = new RequestHandlerThread(this.service.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
Pair #160 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
Pair #161 Negative (Non-Clone)
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #162 Negative (Non-Clone)
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #163 Negative (Non-Clone)
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #164 Negative (Non-Clone)
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #165 Negative (Non-Clone)
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #166 Negative (Non-Clone)
ID: 765_685
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-cos/src/main/java/org/apache/camel/component/ibm/cos/IBMCOSProducer.java
Name: org.apache.camel.component.ibm.cos.IBMCOSProducer.determineKey(Exchange exchange)
    private String determineKey(Exchange exchange) {
        String key = exchange.getIn().getHeader(IBMCOSConstants.KEY, String.class);
        if (key == null) {
            key = getConfiguration().getKeyName();
        }
        if (key == null) {
            throw new IllegalArgumentException("Key must be specified");
        }
        return key;
    }
ID: 3232_2547
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeOgnlExpression(final String ognl)
    public static Expression exchangeOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exchange, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeOgnl(" + ognl + ")";
            }
        };
    }
Pair #167 Negative (Non-Clone)
ID: 2325_1831
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
Name: org.apache.camel.component.aws2.athena.Athena2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
Pair #168 Negative (Non-Clone)
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #169 Negative (Non-Clone)
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2399_1886
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
            throws Exception {
        HazelcastInstance hzInstance = null;
        ClientConfig config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = HazelcastClient.getHazelcastClientByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, ClientConfig.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlClientConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlClientConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = HazelcastClient.newHazelcastClient(config);
            } else if (config != null) {
                hzInstance = HazelcastClient.newHazelcastClient(config);
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
Pair #170 Negative (Non-Clone)
ID: 1492_1331
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final String node)
    public static String nodeValue(final String namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #171 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 241_307
ClassID: 241
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("AWS Secrets Manager:");
            sb.append(String.format("\n    Region: %s", propertiesFunction.getRegion()));
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                sb.append("\n    Login: DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                sb.append("\n    Login: ProfileCredentialsProvider");
            } else {
                sb.append("\n    Login: Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", aws.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", aws.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
Pair #172 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
Pair #173 Negative (Non-Clone)
ID: 635_569
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #174 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 1753_1457
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
Name: org.apache.camel.component.stream.StreamConsumer.validateUri(String uri)
    private void validateUri(String uri) throws IllegalArgumentException {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }

        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
Pair #175 Negative (Non-Clone)
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #176 Negative (Non-Clone)
ID: 3102_2378
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return "to[" + uri + "]";
    }
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
Pair #177 Negative (Non-Clone)
ID: 1062_914
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setDataObjectFormatIdentifierDocumentationReferences(List<String> dataObjectFormatIdentifierDocumentationReferences)
    public void setDataObjectFormatIdentifierDocumentationReferences(
            List<String> dataObjectFormatIdentifierDocumentationReferences) {
        if (dataObjectFormatIdentifierDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'dataObjectFormatIdentifierDocumentationReferences' is null");
        }
        for (String ref : dataObjectFormatIdentifierDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one reference of the identifier of the data object format is null or empty");
            }
        }
        this.dataObjectFormatIdentifierDocumentationReferences
                = new ArrayList<>(dataObjectFormatIdentifierDocumentationReferences);
    }
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #178 Negative (Non-Clone)
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #179 Negative (Non-Clone)
ID: 1807_1477
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveImageRequest(DockerClient client, Message message)
    private RemoveImageCmd executeRemoveImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        ObjectHelper.notNull(imageId, "Image ID must be specified");

        RemoveImageCmd removeImagesCmd = client.removeImageCmd(imageId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeImagesCmd.withForce(force);
        }

        Boolean noPrune = DockerHelper.getProperty(DockerConstants.DOCKER_NO_PRUNE, configuration, message, Boolean.class);

        if (noPrune != null) {
            removeImagesCmd.withNoPrune(noPrune);
        }

        return removeImagesCmd;

    }
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #180 Negative (Non-Clone)
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
ID: 1116_952
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getSecretKey(ImageRecognitionEndpoint endpoint)
    private String getSecretKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getSecretKey())) {
            return endpoint.getSecretKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getSecretKey())) {
            return endpoint.getServiceKeys().getSecretKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'secret key (SK)' not found");
        }
    }
Pair #181 Negative (Non-Clone)
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
Pair #182 Negative (Non-Clone)
ID: 2611_2250
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(TransformerModel model)
    public static JsonObject asJsonObject(TransformerModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("from", model.getFrom());
        obj.put("to", model.getTo());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("transformer", obj);
        return wrapper;
    }
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #183 Negative (Non-Clone)
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
Pair #184 Negative (Non-Clone)
ID: 3291_2692
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("KeyManagersParameters[keyStore=");
        builder.append(keyStore);
        builder.append(", keyPassword=");
        builder.append("********");
        builder.append(", provider=");
        builder.append(provider);
        builder.append(", algorithm=");
        builder.append(algorithm);
        builder.append("]");
        return builder.toString();
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #185 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #186 Negative (Non-Clone)
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #187 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 3242_2571
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/AvroDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.AvroDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == AvroLibrary.ApacheAvro) {
            if (definition.getInstanceClassName() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClassName", definition.getInstanceClassName());
            }
            properties.put("schema", definition.getSchema());
        } else if (definition.getLibrary() == AvroLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClassName()));
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #188 Negative (Non-Clone)
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #189 Negative (Non-Clone)
ID: 1008_871
ClassID: 1008
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ODataFeed) {
            index((ODataFeed) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else if (result instanceof ODataEntry) {
            index((ODataEntry) result);
        } else {
            indexDefault(result);
        }
    }
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #190 Negative (Non-Clone)
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
Pair #191 Negative (Non-Clone)
ID: 1307_1147
ClassID: 1307
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumer.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #192 Negative (Non-Clone)
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #193 Negative (Non-Clone)
ID: 2178_1715
ClassID: 2178
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CamelCommandHelper.java
Name: org.apache.camel.dsl.jbang.core.common.CamelCommandHelper.extractState(int status)
    public static String extractState(int status) {
        if (status <= 4) {
            return "Starting";
        } else if (status == 5) {
            return "Running";
        } else if (status == 6) {
            return "Suspending";
        } else if (status == 7) {
            return "Suspended";
        } else if (status == 8) {
            return "Terminating";
        } else if (status == 9) {
            return "Terminated";
        } else {
            return "Terminated";
        }
    }
ID: 2515_2073
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationId(String location)
    public static String extractSourceLocationId(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #194 Negative (Non-Clone)
ID: 1322_1230
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doGet(Exchange exchange, String namespaceName)
    protected void doGet(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            throw new IllegalArgumentException("Get a specific custom resource require specify a custom resource name");
        }
        JsonObject customResourceJSON = new JsonObject();
        try {
            customResourceJSON = new JsonObject(
                    getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName)
                            .withName(customResourceName)
                            .require()
                            .get());

        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

        prepareOutboundMessage(exchange, customResourceJSON);
    }
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
Pair #195 Negative (Non-Clone)
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 239_294
ClassID: 239
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/vault/IBMEventStreamReloadTriggerTask.java
Name: org.apache.camel.component.ibm.secrets.manager.vault.IBMEventStreamReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #196 Negative (Non-Clone)
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
ID: 188_195
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.JobsResponseCallback() {
                    @Override
                    public void onResponse(Jobs jobs, Map<String, String> headers, SalesforceException ex) {
                        BulkApiV2Processor.this.processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #197 Negative (Non-Clone)
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
Pair #198 Negative (Non-Clone)
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #199 Negative (Non-Clone)
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #200 Negative (Non-Clone)
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 338_384
ClassID: 338
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
Pair #201 Negative (Non-Clone)
ID: 2100_1697
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.recover(CamelContext camelContext, final String exchangeId)
    public Exchange recover(CamelContext camelContext, final String exchangeId) {
        Exchange answer = null;

        try {
            byte[] completedLDBKey = keyBuilder(getRepositoryNameCompleted(), exchangeId);

            byte[] rc = levelDBFile.getDb().get(completedLDBKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException(
                    "Error recovering exchangeId " + exchangeId + " from repository " + repositoryName, e);
        }

        LOG.debug("Recovering exchangeId [{}] -> {}", exchangeId, answer);
        return answer;
    }
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
Pair #202 Negative (Non-Clone)
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
Pair #203 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 182_171
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeApiClient.tryToReadResponse(final Class<T> expectedType, final InputStream responseStream)
    <T> Optional<T> tryToReadResponse(final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJson(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #204 Negative (Non-Clone)
ID: 2454_1949
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Quarkus project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            if (!prop.containsKey("quarkus.http.port")) {
                int port = httpServerPort(settings);
                if (port == -1) {
                    port = 8080;
                }
                if (port != 8080) {
                    prop.put("quarkus.http.port", port);
                }
            }
            if (!prop.containsKey("quarkus.management.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("quarkus.management.port", port);
                }
            }
            if (hawtio) {
                prop.setProperty("quarkus.hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
         
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + "quarkus-app" + File.separator + "quarkus-run.jar";
        copyReadme(BUILD_DIR, appJar);
         
        Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createGradleProperties(buildDir.resolve("gradle.properties"));
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }

        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Path.of(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
Pair #205 Negative (Non-Clone)
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
Pair #206 Negative (Non-Clone)
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
Pair #207 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #208 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 2508_2059
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.fields(ClassInfo ci)
    protected Set<FieldInfo> fields(ClassInfo ci) {
        Set<FieldInfo> fields = new TreeSet<>(Comparator.comparing(FieldInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            fields.addAll(current.fields());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return fields;
    }
Pair #209 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #210 Negative (Non-Clone)
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
Pair #211 Negative (Non-Clone)
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
Pair #212 Negative (Non-Clone)
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #213 Negative (Non-Clone)
ID: 768_700
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getModel(Exchange exchange)
    private void getModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelName = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelName == null) {
            modelName = exchange.getIn().getBody(String.class);
        }

        if (modelName == null || modelName.isBlank()) {
            throw new IllegalArgumentException("Model name must be specified");
        }

        LOG.trace("Getting model information for: {}", modelName);

        GetModelOptions options = new GetModelOptions.Builder()
                .modelId(modelName)
                .build();

        SpeechModel model = stt.getModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(model);
    }
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
Pair #214 Negative (Non-Clone)
ID: 1062_914
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setDataObjectFormatIdentifierDocumentationReferences(List<String> dataObjectFormatIdentifierDocumentationReferences)
    public void setDataObjectFormatIdentifierDocumentationReferences(
            List<String> dataObjectFormatIdentifierDocumentationReferences) {
        if (dataObjectFormatIdentifierDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'dataObjectFormatIdentifierDocumentationReferences' is null");
        }
        for (String ref : dataObjectFormatIdentifierDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one reference of the identifier of the data object format is null or empty");
            }
        }
        this.dataObjectFormatIdentifierDocumentationReferences
                = new ArrayList<>(dataObjectFormatIdentifierDocumentationReferences);
    }
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #215 Negative (Non-Clone)
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #216 Negative (Non-Clone)
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 2339_1841
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #217 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
Pair #218 Negative (Non-Clone)
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #219 Negative (Non-Clone)
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
Pair #220 Negative (Non-Clone)
ID: 2650_2311
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.predecessor(E e)
    public E predecessor(E e) {
        E elem = lower(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().predecessor(elem, e)) {
            return elem;
        }
        return null;
    }
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
Pair #221 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #222 Negative (Non-Clone)
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #223 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 107_100
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollAdminEvents()
    private Queue<Exchange> pollAdminEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming admin events");
        }

         
         
         
        List<String> adminOperationTypes = parseCommaSeparatedList(config.getOperationTypes());
        List<AdminEventRepresentation> adminEvents = keycloakClient.realm(realm).getAdminEvents(
                adminOperationTypes,  
                config.getAuthRealmFilter(),  
                config.getAuthClient(),  
                config.getAuthUser(),  
                config.getAuthIpAddress(),  
                config.getResourcePath(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (AdminEventRepresentation adminEvent : adminEvents) {
            long eventTime = adminEvent.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getAdminEventFingerprint(adminEvent);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed admin event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(adminEvent);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "admin-event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, adminEvent.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                 
                 
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last admin event time to: {}", lastEventTime);
        }

        return queue;
    }
Pair #224 Negative (Non-Clone)
ID: 467_499
ClassID: 467
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
Name: org.apache.camel.component.olingo4.internal.Olingo4ApiCollection.Olingo4ApiCollection()
    private Olingo4ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo4ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo4ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler", "data");
        apiHelpers.put(Olingo4ApiName.DEFAULT, new ApiMethodHelper<>(Olingo4AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo4AppApiMethod.class, Olingo4ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2211_1735
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.updateJobRetries(JobRequest message)
    public JobResponse updateJobRetries(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.UpdateJobRetriesRequest.Builder builder = GatewayOuterClass.UpdateJobRetriesRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            GatewayOuterClass.UpdateJobRetriesRequest request = builder.build();
            GatewayOuterClass.UpdateJobRetriesResponse updateJobRetriesResponse = stub.updateJobRetries(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot update retries for Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #225 Negative (Non-Clone)
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #226 Negative (Non-Clone)
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2640_2282
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeaders(Map<String, Object> headers)
    public FluentProducerTemplate withHeaders(Map<String, Object> headers) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeaders and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.putAll(headers);
        return clone;
    }
Pair #227 Negative (Non-Clone)
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
ID: 998_850
ClassID: 998
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo4Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo4Configuration endpointConfiguration = createEndpointConfiguration(Olingo4ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo4ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #228 Negative (Non-Clone)
ID: 2467_1984
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-dump");
        root.put("filter", "*");
        root.put("format", format);
        root.put("uriAsParameters", uriAsParameters);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
Pair #229 Negative (Non-Clone)
ID: 3255_2608
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.closeCircuit(Route route)
    protected void closeCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            failures.set(0);
            success.set(0);
            lastFailure = 0;
            openedAt = 0;
            state.set(STATE_CLOSED);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
Pair #230 Negative (Non-Clone)
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #231 Negative (Non-Clone)
ID: 1864_1535
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKey(String keyId)
    public KeyPair getKey(String keyId) throws Exception {
        if (keyCache.containsKey(keyId)) {
            return keyCache.get(keyId);
        }

        Path keyFile = getKeyFile(keyId);
        if (!Files.exists(keyFile)) {
            throw new IllegalArgumentException("Key not found: " + keyId);
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(keyFile)))) {
            KeyPair keyPair = (KeyPair) ois.readObject();
            keyCache.put(keyId, keyPair);
            return keyPair;
        }
    }
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
Pair #232 Negative (Non-Clone)
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
Pair #233 Negative (Non-Clone)
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
Pair #234 Negative (Non-Clone)
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
Pair #235 Negative (Non-Clone)
ID: 1111_946
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private void initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getFrsClient() != null) {
            LOG.info(
                    "Instance of FrsClient was set on the endpoint. Skip creation of FrsClient from endpoint parameters");
            this.frsClient = endpoint.getFrsClient();
            return;
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }
        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        frsClient = FrsClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized FRS client");
        }
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #236 Negative (Non-Clone)
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 2047_1662
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileChangedExclusiveReadLockStrategy readLockStrategy = new FileChangedExclusiveReadLockStrategy();
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #237 Negative (Non-Clone)
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #238 Negative (Non-Clone)
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 242_309
ClassID: 242
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            if (propertiesFunction.isUseDefaultInstance()) {
                root.put("login", "Default Instance");
            } else {
                root.put("login", "Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                root.put("refreshEnabled", gcp.isRefreshEnabled());
                root.put("refreshPeriod", gcp.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
Pair #239 Negative (Non-Clone)
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
Pair #240 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 1855_1510
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in Vault: {}", metadata);
        return keyPair;
    }
Pair #241 Negative (Non-Clone)
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 3232_2547
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeOgnlExpression(final String ognl)
    public static Expression exchangeOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exchange, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeOgnl(" + ognl + ")";
            }
        };
    }
Pair #242 Negative (Non-Clone)
ID: 181_170
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
    private <T> T unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, typeRef);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
ID: 1856_1515
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
             
             
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #243 Negative (Non-Clone)
ID: 689_629
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpsert(Exchange exchange, String tableName)
    private void doUpsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Upsert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Upsert upsert = table.newUpsert();
        PartialRow row = upsert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(upsert);
    }
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #244 Negative (Non-Clone)
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 2246_1770
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeClientListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                if (this.version != null) {
                    cache.removeWithVersion(InfinispanClusterService.LEADER_KEY, this.version);
                }

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }

            this.version = null;
        }
Pair #245 Negative (Non-Clone)
ID: 1458_1310
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceCompletion(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be completed in " + timeout, exception);
        }
    }
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
Pair #246 Negative (Non-Clone)
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #247 Negative (Non-Clone)
ID: 2372_1867
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteTranscriptionJobRequest) {
                try {
                    transcribeClient.deleteTranscriptionJob((DeleteTranscriptionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteTranscriptionJobRequest.Builder builder = DeleteTranscriptionJobRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME))) {
                String jobName = exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME, String.class);
                builder.transcriptionJobName(jobName);
            }
            try {
                transcribeClient.deleteTranscriptionJob(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
Pair #248 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 112_106
ClassID: 112
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #249 Negative (Non-Clone)
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #250 Negative (Non-Clone)
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #251 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #252 Negative (Non-Clone)
ID: 1255_1101
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #253 Negative (Non-Clone)
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #254 Negative (Non-Clone)
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
ID: 701_646
ClassID: 701
File: systems/camel-java/components/camel-jte/src/main/java/org/apache/camel/component/jte/JteComponent.java
Name: org.apache.camel.component.jte.JteComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JteEndpoint endpoint = new JteEndpoint(uri, this, remaining);
        endpoint.setAllowTemplateFromHeader(allowTemplateFromHeader);
        endpoint.setAllowContextMapAll(allowContextMapAll);
        endpoint.setContentCache(contentCache);

        setProperties(endpoint, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            endpoint.setResourceUri(remaining);
        }

        return endpoint;
    }
Pair #255 Negative (Non-Clone)
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 220_259
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.storage.downloadTo");

        if (message.getHeaders().containsKey(GoogleCloudStorageConstants.BUCKET_NAME)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.storage.bucket." + message.getHeader(GoogleCloudStorageConstants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #256 Negative (Non-Clone)
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #257 Negative (Non-Clone)
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #258 Negative (Non-Clone)
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
ID: 2107_1701
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.resolveDataSetCallback(Exchange exchange)
    protected DataSetCallback resolveDataSetCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER) != null) {
            return (DataSetCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER);
        } else if (getEndpoint().getDataSetCallback() != null) {
            return getEndpoint().getDataSetCallback();
        } else {
            throw new IllegalStateException("Cannot resolve DataSet callback.");
        }
    }
Pair #259 Negative (Non-Clone)
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 3105_2387
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.instance(Object instance)
        public Builder instance(Object instance) {
             
            if (instance instanceof Class) {
                this.beanType = (Class<?>) instance;
                this.instance = null;
            } else {
                this.beanType = null;
                this.instance = instance;
            }
            return this;
        }
Pair #260 Negative (Non-Clone)
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #261 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #262 Negative (Non-Clone)
ID: 2555_2124
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestVerbDetails detail)
    private static void extractAttributes(Node xmlNode, RestVerbDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setPath(extractAttribute(map, "path"));
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setType(extractAttribute(map, "type"));
        detail.setOutType(extractAttribute(map, "outType"));
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #263 Negative (Non-Clone)
ID: 240_300
ClassID: 240
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("azure")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("azure");
            if (pf instanceof KeyVaultPropertiesFunction) {
                propertiesFunction = (KeyVaultPropertiesFunction) pf;
            }
        }
        AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
        if (azure != null && azure.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(EventhubsReloadTriggerTask.class);
        }
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #264 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #265 Negative (Non-Clone)
ID: 657_579
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
Name: org.apache.camel.component.openstack.swift.SwiftEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (subsystem) {
            case SwiftConstants.SWIFT_SUBSYSTEM_OBJECTS:
                return new ObjectProducer(this, createClient());
            case SwiftConstants.SWIFT_SUBSYSTEM_CONTAINERS:
                return new ContainerProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #266 Negative (Non-Clone)
ID: 1558_1379
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
Pair #267 Negative (Non-Clone)
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #268 Negative (Non-Clone)
ID: 1170_1000
ClassID: 1170
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
Name: org.apache.camel.coap.CoAPEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        final Consumer consumer;
        if (isObserve()) {
            consumer = new CoAPObserver(this, processor);
        } else {
            consumer = new CoAPConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #269 Negative (Non-Clone)
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3209_2480
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
Name: org.apache.camel.impl.console.SourceDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(SourceDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #270 Negative (Non-Clone)
ID: 765_686
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorBucketName(Exchange exchange)
    private String determineVectorBucketName(Exchange exchange) {
        String vectorBucketName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_BUCKET_NAME, String.class);
        if (vectorBucketName == null) {
            vectorBucketName = getConfiguration().getVectorBucketName();
        }
        if (vectorBucketName == null) {
            throw new IllegalArgumentException("Vector bucket name must be specified");
        }
        return vectorBucketName;
    }
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
Pair #271 Negative (Non-Clone)
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
ID: 2472_2012
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jph = (JsonObject) root.get("platform-http");
                        if (jph != null) {
                            String server = jph.getString("server");
                            JsonArray arr = (JsonArray) jph.get("endpoints");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    JsonObject jo = (JsonObject) arr.get(i);
                                    row.server = server;
                                    row.url = jo.getString("url");
                                    row.path = jo.getString("path");
                                    row.verbs = jo.getString("verbs");
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    rows.add(row);
                                }
                            }
                            if (all) {
                                arr = (JsonArray) jph.get("managementEndpoints");
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.server = server;
                                        row.url = jo.getString("url");
                                        row.path = jo.getString("path");
                                        row.verbs = jo.getString("verbs");
                                        row.consumes = jo.getString("consumes");
                                        row.produces = jo.getString("produces");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.verbs),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #272 Negative (Non-Clone)
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
Pair #273 Negative (Non-Clone)
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
Pair #274 Negative (Non-Clone)
ID: 1888_1559
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
ID: 2386_1879
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPart(String channel, IRCUser user, String msg)
        public void onPart(String channel, IRCUser user, String msg) {
            if (configuration.isOnPart()) {
                Exchange exchange = createOnPartExchange(channel, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #275 Negative (Non-Clone)
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #276 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 1871_1540
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #277 Negative (Non-Clone)
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #278 Negative (Non-Clone)
ID: 2528_2100
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
Name: org.apache.camel.main.download.KnownDependenciesResolver.doLoadKnownDependencies(String name)
    private void doLoadKnownDependencies(String name) {
        try {
            Enumeration<URL> resources = getClass().getClassLoader().getResources(name);
            while (resources.hasMoreElements()) {
                URL resource = resources.nextElement();
                try (InputStream is = resource.openStream()) {
                    Properties prop = new Properties();
                    prop.load(is);
                    Map<String, String> map = new HashMap<>();
                    for (String key : prop.stringPropertyNames()) {
                        String value = prop.getProperty(key);
                        map.put(key, value);
                    }
                    addMappings(map);
                }
            }
        } catch (Exception e) {
             
        }
    }
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
Pair #279 Negative (Non-Clone)
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #280 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #281 Negative (Non-Clone)
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #282 Negative (Non-Clone)
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
Pair #283 Negative (Non-Clone)
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
ID: 1189_1018
ClassID: 1189
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.getNextEntry()
    private ZipArchiveEntry getNextEntry() throws IOException {
        ZipArchiveEntry entry;

        while ((entry = zipInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
Pair #284 Negative (Non-Clone)
ID: 24_38
ClassID: 24
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #285 Negative (Non-Clone)
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
ID: 2442_1922
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getStatus(SuspendedRow r)
    private String getStatus(SuspendedRow r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = "Created";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(done).reset().toString();
            } else {
                return done;
            }
        }
        if (!r.done) {
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a("Breakpoint").reset().toString();
            } else {
                return "Breakpoint";
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
Pair #286 Negative (Non-Clone)
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #287 Negative (Non-Clone)
ID: 658_587
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.GroupProducer.messageToGroup(Message message)
    private Group messageToGroup(Message message) {
        Group group = message.getBody(Group.class);

        if (group == null) {
            Map headers = message.getHeaders();
            GroupBuilder builder = Builders.group();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            group = builder.build();
        }
        return group;
    }
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
Pair #288 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #289 Negative (Non-Clone)
ID: 188_197
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportInstances(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportInstances(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportInstances(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceListResponseCallback() {
                    @Override
                    public void onResponse(
                            List<ReportInstance> reportInstances, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstances, headers, ex, callback);
                    }
                });
    }
ID: 2574_2160
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #290 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #291 Negative (Non-Clone)
ID: 2583_2181
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbGenericArrayTypeImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbGenericArrayTypeImpl.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof GenericArrayType) {
            return ((GenericArrayType) obj).getGenericComponentType().equals(componentType);
        } else {
            return false;
        }

    }
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
Pair #292 Negative (Non-Clone)
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
Pair #293 Negative (Non-Clone)
ID: 2246_1770
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeClientListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                if (this.version != null) {
                    cache.removeWithVersion(InfinispanClusterService.LEADER_KEY, this.version);
                }

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }

            this.version = null;
        }
ID: 217_237
ClassID: 217
File: systems/camel-java/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityProcessor.java
Name: org.apache.camel.component.shiro.security.ShiroSecurityProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            applySecurityPolicy(exchange);
        } catch (Exception e) {
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }

        return super.process(exchange, callback);
    }
Pair #294 Negative (Non-Clone)
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 1106_937
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        UpdateUserOption userOption;
        if (body instanceof UpdateUserOption) {
            userOption = (UpdateUserOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                userOption = new ObjectMapper().readValue(strBody, UpdateUserOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or UpdateUserOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to update user");
        }

         
        UpdateUserRequestBody requestBody = new UpdateUserRequestBody()
                .withUser(userOption);
        UpdateUserRequest request = new UpdateUserRequest()
                .withBody(requestBody)
                .withUserId(clientConfigurations.getUserId());
        UpdateUserResponse response = iamClient.updateUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #295 Negative (Non-Clone)
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #296 Negative (Non-Clone)
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 2269_1788
ClassID: 2269
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaPollingConsumer.java
Name: org.apache.camel.component.jpa.JpaPollingConsumer.createQueryFactory()
    protected QueryFactory createQueryFactory() {
        if (query != null) {
            return QueryBuilder.query(query);
        } else if (namedQuery != null) {
            return QueryBuilder.namedQuery(namedQuery);
        } else if (nativeQuery != null) {
            if (resultClass != null) {
                return QueryBuilder.nativeQuery(nativeQuery, resultClass);
            } else {
                return QueryBuilder.nativeQuery(nativeQuery);
            }
        } else {
            Class<?> entityType = getEndpoint().getEntityType();

            if (entityType == null) {
                return null;
            } else {
                 
                String name = getEntityName(entityType);
                if (name != null) {
                    return QueryBuilder.query("select x from " + name + " x");
                } else {
                     
                    return QueryBuilder.query("select x from " + entityType.getSimpleName() + " x");
                }
            }
        }
    }
Pair #297 Negative (Non-Clone)
ID: 2470_1996
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2583_2181
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbGenericArrayTypeImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbGenericArrayTypeImpl.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof GenericArrayType) {
            return ((GenericArrayType) obj).getGenericComponentType().equals(componentType);
        } else {
            return false;
        }

    }
Pair #298 Negative (Non-Clone)
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #299 Negative (Non-Clone)
ID: 3231_2544
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.bodyOgnlExpression(final String name, final String ognl)
    public static Expression bodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body = exchange.getIn().getBody(type);
                if (body != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "bodyOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #300 Negative (Non-Clone)
ID: 2577_2168
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeDataFormat()
    private void executeDataFormat() throws MojoExecutionException {
         
        final String kind = "dataformat";
        List<String> dataFormatNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!dataFormatNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + dataFormatNames.size() + " dataformats");
            }

            for (String dataFormatName : dataFormatNames) {
                String json = loadJsonFrom(jsonFiles, kind, dataFormatName);
                if (json != null) {
                     
                    dataFormatName = asDataFormatName(dataFormatName);

                    File file = new File(dataformatDocDir, dataFormatName + "-" + kind + ".adoc");

                    DataFormatModel model = generateDataFormatModel(json);
                     
                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        model.getOptions().stream().filter(o -> "type".equals(o.getName()))
                                .forEach(o -> o.setDefaultValue(null));
                    }

                    String title = asDataFormatTitle(model.getName(), model.getTitle());
                    model.setTitle(title);

                    boolean exists = file.exists();
                    boolean updated = updateHeader(dataFormatName, file, model, " DataFormat");
                    checkSince(file);

                    String options = evaluateTemplate("dataformat-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        updated |= updateAnnotationsIn(file);
                    }

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No dataformat doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }

                }
            }
        }
    }
ID: 1905_1568
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedHeadersMDC(Exchange exchange, boolean push)
    private void userSelectedHeadersMDC(Exchange exchange, boolean push) {
        for (String customHeader : getCustomHeaders().split(",")) {
            if (exchange.getIn().getHeader(customHeader) != null) {
                if (push) {
                    MDC.put(customHeader, exchange.getIn().getHeader(customHeader, String.class));
                } else {
                    MDC.remove(customHeader);
                }
            }
        }
    }
Pair #301 Negative (Non-Clone)
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
Pair #302 Negative (Non-Clone)
ID: 1939_1590
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doStart()
    protected void doStart() throws Exception {
        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
ID: 25_39
ClassID: 25
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
Pair #303 Negative (Non-Clone)
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
Pair #304 Negative (Non-Clone)
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
Pair #305 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #306 Negative (Non-Clone)
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 2658_2328
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
Name: org.apache.camel.processor.SetPropertyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newProperty = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = propertyName.evaluate(exchange, String.class);
            exchange.setProperty(key, newProperty);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #307 Negative (Non-Clone)
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
Pair #308 Negative (Non-Clone)
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 1203_1028
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doPublish(Exchange exchange, AsyncCallback callback)
    private void doPublish(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            throw new RuntimeCamelException("Cannot publish empty message");
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .publish()
                .message(body)
                .channel(getChannel(exchange))
                .usePOST(true)
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got publish message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #309 Negative (Non-Clone)
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #310 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 2451_1942
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDevConsoleNames()) {
            DevConsoleModel model = catalog.devConsoleModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #311 Negative (Non-Clone)
ID: 412_446
ClassID: 412
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
Pair #312 Negative (Non-Clone)
ID: 3105_2386
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.setInstance(Object instance)
    public void setInstance(Object instance) {
         
        if (instance instanceof Class) {
            this.beanType = (Class<?>) instance;
            this.instance = null;
        } else {
            this.beanType = null;
            this.instance = instance;
        }
    }
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
Pair #313 Negative (Non-Clone)
ID: 3098_2364
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.consumes(String mediaType)
    public RestDefinition consumes(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.consumes = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setConsumes(mediaType);
        }

        return this;
    }
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #314 Negative (Non-Clone)
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
ID: 454_486
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.createFileSharedLink(String fileId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFileSharedLink(
            String fileId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for file(id={}) with access={} {}",
                    fileId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(access, "access");

            BoxFile file = new BoxFile(boxConnection, fileId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return file.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #315 Negative (Non-Clone)
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #316 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 468_501
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapProducer.java
Name: org.apache.camel.component.snmp.SnmpTrapProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
        }
    }
Pair #317 Negative (Non-Clone)
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
Pair #318 Negative (Non-Clone)
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
ID: 1720_1435
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #319 Negative (Non-Clone)
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
Pair #320 Negative (Non-Clone)
ID: 3251_2599
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean.getObject()
    public SecureRandomParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #321 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #322 Negative (Non-Clone)
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
Pair #323 Negative (Non-Clone)
ID: 3252_2604
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.createInstance()
    protected KeyManagersParameters createInstance() throws Exception {
        KeyManagersParameters newInstance = new KeyManagersParameters();

        newInstance.setAlgorithm(algorithm);
        newInstance.setKeyPassword(keyPassword);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        return newInstance;
    }
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #324 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 829_709
ClassID: 829
File: systems/camel-java/components/camel-csimple-joor/src/main/java/org/apache/camel/language/csimple/joor/JoorCSimpleCompilationException.java
Name: org.apache.camel.language.csimple.joor.JoorCSimpleCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
Pair #325 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
Pair #326 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
Pair #327 Negative (Non-Clone)
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #328 Negative (Non-Clone)
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #329 Negative (Non-Clone)
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #330 Negative (Non-Clone)
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
Pair #331 Negative (Non-Clone)
ID: 378_414
ClassID: 378
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
        public Destination resolveDestinationName(
                Session session, String destinationName,
                boolean pubSubDomain)
                throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.resolveDestinationName(session, destinationName, pubSubDomain);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #332 Negative (Non-Clone)
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #333 Negative (Non-Clone)
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
Pair #334 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #335 Negative (Non-Clone)
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 1806_1472
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
    private void runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
            throws DockerException, InterruptedException {
         
        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {

            BuildImageResultCallback item = cmd.exec(new BuildImageResultCallback() {
                @Override
                public void onNext(BuildResponseItem item) {
                    super.onNext(item);

                    LOG.trace("build image callback {}", item);

                    exchange.getIn().setBody(item.getImageId());
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #336 Negative (Non-Clone)
ID: 2220_1739
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isEncryptionKey(PGPPublicKey key)
    private static boolean isEncryptionKey(PGPPublicKey key) {
        if (!key.isEncryptionKey()) {
            return false;
        }
         
        Boolean hasEncryptionKeyFlags
                = hasOneOfExpectedKeyFlags(key, new int[] { KeyFlags.ENCRYPT_COMMS, KeyFlags.ENCRYPT_STORAGE });
        if (hasEncryptionKeyFlags != null && !hasEncryptionKeyFlags) {
            LOG.debug(
                    "Public key with key key ID {} found for specified user ID. But this key will not be used for the encryption, because its key flags are not encryption key flags.",
                    key.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
Pair #337 Negative (Non-Clone)
ID: 103_82
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies()
                        .create((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 1244_1069
ClassID: 1244
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Component.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDb2Endpoint endpoint = new InfluxDb2Endpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDBClient target = influxDBClient;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDBClient.class);
        }
        endpoint.setInfluxDBClient(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #338 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #339 Negative (Non-Clone)
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 2575_2163
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DevConsoleModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
        annotations.forEach(a -> {
            DevConsoleModel model = new DevConsoleModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setGroup(annotationValue(a, "group"));
            model.setName(annotationValue(a, "name"));
            model.setDisplayName(annotationValue(a, "displayName"));
            model.setDescription(annotationValue(a, "description"));
             
            boolean skip = "default-registry".equals(model.getName());
            if (!skip) {
                models.add(model);
            }
        });
        models.sort(Comparator.comparing(DevConsoleModel::getName));

         

        if (!models.isEmpty()) {
            try {
                StringJoiner ids = new StringJoiner(" ");
                for (var model : models) {
                    ids.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/org/apache/camel/dev-console/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated dev-console json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "dev-consoles", ids.toString());
                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
                              + (count > 1 ? "consoles: " : "console: ") + ids);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
Pair #340 Negative (Non-Clone)
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #341 Negative (Non-Clone)
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #342 Negative (Non-Clone)
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 248_320
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubProducerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubProducerAsyncClient createEventHubProducerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncProducerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncProducerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncProducerClient();
    }
Pair #343 Negative (Non-Clone)
ID: 1011_876
ClassID: 1011
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Producer.java
Name: org.apache.camel.component.olingo4.Olingo4Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo4Constants.FULL_RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }
        return false;

    }
ID: 1130_966
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.listen(String requestUri, HttpRequestHandler handler)
    public void listen(String requestUri, HttpRequestHandler handler) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.registerHandler(requestUri, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #344 Negative (Non-Clone)
ID: 112_106
ClassID: 112
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 2656_2323
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/MandatorySagaProcessor.java
Name: org.apache.camel.processor.saga.MandatorySagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator == null) {
                exchange.setException(new CamelExchangeException("Exchange is not part of a saga", exchange));
                callback.done(false);
            } else {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            }
        }));
        return false;
    }
Pair #345 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #346 Negative (Non-Clone)
ID: 2377_1868
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setOutputFieldsIdx(String outputFieldsIdx)
    public void setOutputFieldsIdx(String outputFieldsIdx) {
        if (outputFieldsIdx != null) {
            String[] outputArray = outputFieldsIdx.split(",");
            outputFieldsIdxArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsIdxArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 2466_1980
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.TransformMessageAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < timeout) {
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile)) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #347 Negative (Non-Clone)
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #348 Negative (Non-Clone)
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #349 Negative (Non-Clone)
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
Pair #350 Negative (Non-Clone)
ID: 2540_2115
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findJavaRouteBuilderClasses(Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project)
    public static void findJavaRouteBuilderClasses(
            Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project) {
        if (includeJava) {
            for (String dir : project.getCompileSourceRoots()) {
                FileUtil.findJavaFiles(new File(dir), javaFiles);
            }
            if (includeTest) {
                for (String dir : project.getTestCompileSourceRoots()) {
                    FileUtil.findJavaFiles(new File(dir), javaFiles);
                }
            }
        }
    }
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #351 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 1107_939
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(IAMProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No operation name given. Cannot proceed with IAM operations.");
            }
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.OPERATION))
                            ? (String) exchange.getProperty(IAMProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                || ObjectHelper.isNotEmpty(endpoint.getUserId())) {
            clientConfigurations.setUserId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                            ? (String) exchange.getProperty(IAMProperties.USER_ID)
                            : endpoint.getUserId());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                || ObjectHelper.isNotEmpty(endpoint.getGroupId())) {
            clientConfigurations.setGroupId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                            ? (String) exchange.getProperty(IAMProperties.GROUP_ID)
                            : endpoint.getGroupId());
        }
    }
Pair #352 Negative (Non-Clone)
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #353 Negative (Non-Clone)
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
Pair #354 Negative (Non-Clone)
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
Pair #355 Negative (Non-Clone)
ID: 2457_1955
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));
        answer.removeIf(s -> s.contains("camel-microprofile-health"));

        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-quarkus:" + hawtioVersion);
        }

        return answer;
    }
ID: 2250_1781
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemoveAsync(Message message)
    public void onRemoveAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> resultRemoveAsyncKey;
        final CompletableFuture<Boolean> resultRemoveAsyncKeyValue;

        if (ObjectHelper.isEmpty(value)) {
            resultRemoveAsyncKey = cache.removeAsync(key);
            setResult(message, resultRemoveAsyncKey);
        } else {
            resultRemoveAsyncKeyValue = cache.removeAsync(key, value);
            setResult(message, resultRemoveAsyncKeyValue);
        }
    }
Pair #356 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 342_396
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newBuilder() {
        final Properties producerProperties = KafkaResumeStrategyConfigurationBuilder.createProducerProperties();
        final Properties consumerProperties = KafkaResumeStrategyConfigurationBuilder.createConsumerProperties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);
        builder.withCacheFillPolicy(Cacheable.FillPolicy.MAXIMIZING);

        return builder;
    }
Pair #357 Negative (Non-Clone)
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #358 Negative (Non-Clone)
ID: 1282_1127
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteEdge()
    private Function<Exchange, Object> deleteEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                edgeCollection.deleteEdge(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #359 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 2048_1664
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentChangedRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentChangedRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #360 Negative (Non-Clone)
ID: 3179_2457
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument(charset, "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                String namespaceUri = reader.getAttributeNamespace(i);
                                writer.writeAttribute(reader.getAttributePrefix(i), namespaceUri == null ? "" : namespaceUri,
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                String namespacePrefix = reader.getNamespacePrefix(i);
                                String namespaceURI = reader.getNamespaceURI(i);
                                writer.writeNamespace(namespacePrefix == null ? "" : namespacePrefix,
                                        namespaceURI == null ? "" : namespaceURI);
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
Pair #361 Negative (Non-Clone)
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #362 Negative (Non-Clone)
ID: 922_794
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
ID: 3285_2681
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, String message)
    public void process(Exchange exchange, String message) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange) + message;
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output);
            closeListeners(exchange, output);
        }
    }
Pair #363 Negative (Non-Clone)
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #364 Negative (Non-Clone)
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 348_398
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.createRecord(Exchange exchange)
    private void createRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.POST, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
Pair #365 Negative (Non-Clone)
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #366 Negative (Non-Clone)
ID: 188_197
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportInstances(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportInstances(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportInstances(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceListResponseCallback() {
                    @Override
                    public void onResponse(
                            List<ReportInstance> reportInstances, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstances, headers, ex, callback);
                    }
                });
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #367 Negative (Non-Clone)
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
Pair #368 Negative (Non-Clone)
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 1307_1154
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping OpenShift DeploymentConfigs Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #369 Negative (Non-Clone)
ID: 185_178
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getRequest(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getRequest(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchRequestUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
Pair #370 Negative (Non-Clone)
ID: 442_464
ClassID: 442
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.DefaultServerInitializerFactory(NettyConsumer consumer)
    public DefaultServerInitializerFactory(NettyConsumer consumer) {
        this.consumer = consumer;
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #371 Negative (Non-Clone)
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
Pair #372 Negative (Non-Clone)
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
Pair #373 Negative (Non-Clone)
ID: 53_67
ClassID: 53
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }

        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.getAndPut(key, newHolder);
            if (oldHolder != null) {
                Exchange exchange = unmarshallExchange(camelContext, oldHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key,
                        exchange != null ? exchange.getExchangeId() : "<null>");

                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 2515_2072
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.stripSourceLocationLineNumber(String location)
    public static String stripSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(0, pos);
        } else {
            return location;
        }
    }
Pair #374 Negative (Non-Clone)
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #375 Negative (Non-Clone)
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
ID: 26_41
ClassID: 26
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
Pair #376 Negative (Non-Clone)
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #377 Negative (Non-Clone)
ID: 248_322
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventProcessorClient(final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent, final Consumer<ErrorContext> processError)
    public static EventProcessorClient createEventProcessorClient(
            final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent,
            final Consumer<ErrorContext> processError) {
        EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .initialPartitionEventPosition(configuration.getEventPosition())
                .checkpointStore(createCheckpointStore(configuration))
                .consumerGroup(configuration.getConsumerGroupName())
                .retryOptions(configuration.getAmqpRetryOptions())
                .transportType(configuration.getAmqpTransportType())
                .processError(processError)
                .processEvent(processEvent);

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventProcessorClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildEventProcessorClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventProcessorClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildEventProcessorClient();
        }
        return eventProcessorClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildEventProcessorClient();
    }
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #378 Negative (Non-Clone)
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
Pair #379 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #380 Negative (Non-Clone)
ID: 3264_2624
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint)
    public Exchange receive(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
Pair #381 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #382 Negative (Non-Clone)
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #383 Negative (Non-Clone)
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
Pair #384 Negative (Non-Clone)
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #385 Negative (Non-Clone)
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #386 Negative (Non-Clone)
ID: 124_113
ClassID: 124
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config)
    private void configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config) {
        if (!parseBoolean(config.getTimeoutEnabled(), false)) {
            return;
        }

        if (config.getTimeoutExecutorService() != null) {
            String ref = config.getTimeoutExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
Pair #387 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 2465_1975
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
         
        line = unescapeAnsi(line);
        String after = StringHelper.after(line, "---", line);
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(after).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #388 Negative (Non-Clone)
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
Pair #389 Negative (Non-Clone)
ID: 3308_2721
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate)
    private LanguageValidationResult doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = groovy.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(groovy);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.groovy.GroovyLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("validatePredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("validateExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.groovy.GroovyValidationException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                if (answer.getShortError() == null) {
                     
                    String msg = answer.getError();
                     
                    LineNumberReader lnr = new LineNumberReader(new StringReader(msg));
                    try {
                        String line = lnr.readLine();
                        do {
                            if (line.contains(" @ ")) {
                                 
                                if (line.startsWith("Script_") && StringHelper.countChar(line, ':') > 2) {
                                    line = StringHelper.after(line, ":", line);
                                    line = StringHelper.after(line, ":", line);
                                    line = line.trim();
                                }
                                answer.setShortError(line);
                                break;
                            }
                            line = lnr.readLine();
                        } while (line != null);
                    } catch (Exception e) {
                         
                    }
                }
            }
        }

        return answer;
    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #390 Negative (Non-Clone)
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
Pair #391 Negative (Non-Clone)
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
Pair #392 Negative (Non-Clone)
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #393 Negative (Non-Clone)
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
Pair #394 Negative (Non-Clone)
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2640_2284
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariables(Map<String, Object> variables)
    public FluentProducerTemplate withVariables(Map<String, Object> variables) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariables and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.putAll(variables);
        return clone;
    }
Pair #395 Negative (Non-Clone)
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
Pair #396 Negative (Non-Clone)
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
Pair #397 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 1914_1578
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = replicatedCache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
Pair #398 Negative (Non-Clone)
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
Pair #399 Negative (Non-Clone)
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
ID: 2382_1874
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
Name: org.apache.camel.model.ThrowExceptionDefinition.description()
    protected String description() {
        if (exception != null) {
            return exception.getClass().getCanonicalName();
        } else if (ref != null) {
            return "ref:" + ref;
        } else {
            return "";
        }
    }
Pair #400 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
Pair #401 Negative (Non-Clone)
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 173_133
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createHandshakeListener()
    private MessageListener createHandshakeListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_HANDSHAKE]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Handshake failure: {}", message);
                handshakeError = (String) message.get(ERROR_FIELD);
                handshakeException = getFailure(message);
                if (handshakeError != null) {
                    if (handshakeError.startsWith("403::")) {
                        String failureReason = getFailureReason(message);
                        if (failureReason.equals(AUTHENTICATION_INVALID)) {
                            LOG.debug(
                                    "attempting login due to handshake error: 403 -> 401::Authentication invalid");
                            session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                        }
                    }
                }
                 
                LOG.debug("Handshake failed, so try again.");
                client.handshake();
            } else if (!channelToConsumers.isEmpty()) {
                channelsToSubscribe.clear();
                channelsToSubscribe.addAll(channelToConsumers.keySet());
                LOG.info("Handshake successful. Channels to subscribe: {}", channelsToSubscribe);
            }
        });
    }
Pair #402 Negative (Non-Clone)
ID: 1317_1220
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Config maps Cluster:");
            sb.append(String.format("\n    Master Url: %s", propertiesFunction.getClient().getMasterUrl()));
            sb.append("\n    Login: OAuth Token");
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (cmRefreshTask != null) {
                Instant start = cmRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #403 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 3109_2395
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
Name: org.apache.camel.model.TemplatedRoutesDefinition.createTemplatedRouteDefinition(String id)
    protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
        TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
        if (id != null) {
            templatedRoute.setRouteTemplateRef(id);
        }
        if (resource != null) {
            templatedRoute.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
        return templatedRoute;
    }
Pair #404 Negative (Non-Clone)
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
Pair #405 Negative (Non-Clone)
ID: 2401_1895
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.startAllStoppedConsumers()
    private void startAllStoppedConsumers() {
        lock.lock();
        try {
            for (Route route : suspendedRoutes) {
                LOGGER.debug("Starting consumer for {} ({})", route.getId(), route.getConsumer());
                startConsumer(route.getConsumer());
            }

            suspendedRoutes.clear();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #406 Negative (Non-Clone)
ID: 2272_1796
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.namedQuery(final String namedQuery)
    public static QueryBuilder namedQuery(final String namedQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNamedQuery(namedQuery);
            }

            @Override
            public String toString() {
                return "Named: " + namedQuery + getParameterDescription();
            }
        };
    }
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
Pair #407 Negative (Non-Clone)
ID: 2663_2344
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.calculateAndSetMaxRequestsPerPeriod(final Exchange exchange)
        public void calculateAndSetMaxRequestsPerPeriod(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle
                        = TotalRequestsThrottler.this.getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumRequestsPerPeriod must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxRequestsPerPeriodExpression was evaluated as null: "
                                                       + TotalRequestsThrottler.this.getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            while (delta > 0) {
                                delayQueue.take();
                                delta--;
                                if (LOG.isTraceEnabled()) {
                                    LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}",
                                            exchange.getExchangeId());
                                }
                            }
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            for (int i = 0; i < delta; i++) {
                                delayQueue.put(new ThrottlePermit(-1));
                            }
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 1431_1291
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationEDIEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationEDIEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationEntity applicationEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationEntity = parseEDIEntityBody(inBuffer, is, null, contentType, contentTransferEncoding, "");
            applicationEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
Pair #408 Negative (Non-Clone)
ID: 558_540
ClassID: 558
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Name: org.apache.camel.management.DefaultManagementAgent.unregister(ObjectName name)
    public void unregister(ObjectName name) throws JMException {
        if (isRegistered(name)) {
            ObjectName on = mbeansRegistered.remove(name);
            server.unregisterMBean(on);
            LOG.debug("Unregistered MBean with ObjectName: {}", name);
        } else {
            mbeansRegistered.remove(name);
        }
    }
ID: 1752_1456
ClassID: 1752
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
        }
        return key;
    }
Pair #409 Negative (Non-Clone)
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1984_1626
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/CodeInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.CodeInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionType> detected = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (!detectTypes.contains(pattern.getType())) {
                continue;
            }

            if (pattern.getPattern().matcher(text).find()) {
                detected.add(pattern.getType());

                if (strict) {
                    return failure(String.format(
                            "Potential code injection detected: %s. " +
                                                 "Please remove any code or command patterns from your message.",
                            pattern.getType()));
                }
            }
        }

         
        if (!strict && detected.size() >= 2) {
            return failure(String.format(
                    "Multiple potential code injection patterns detected: %s. " +
                                         "Please rephrase your message without code-like syntax.",
                    detected));
        }

        return success();
    }
Pair #410 Negative (Non-Clone)
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
Pair #411 Negative (Non-Clone)
ID: 1308_1163
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.run()
        public void run() {
            FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> client
                        = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
Pair #412 Negative (Non-Clone)
ID: 2481_2033
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 55, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 55, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #413 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #414 Negative (Non-Clone)
ID: 1187_1012
ClassID: 1187
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doHasNext()
    protected boolean doHasNext() {
        try {
            if (zipInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = currentEntry != null;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    zipInputStream.close();
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 31_53
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #415 Negative (Non-Clone)
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #416 Negative (Non-Clone)
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
Pair #417 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #418 Negative (Non-Clone)
ID: 1250_1085
ClassID: 1250
File: systems/camel-java/components/camel-reactive-executor-tomcat/src/main/java/org/apache/camel/reactive/tomcat/TomcatReactiveExecutor.java
Name: org.apache.camel.reactive.tomcat.TomcatReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                if (stats) {
                    executor.pendingTasks.decrement();
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception e) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", e.getMessage(), e);
            }
            return true;
        }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #419 Negative (Non-Clone)
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #420 Negative (Non-Clone)
ID: 1130_968
ClassID: 1130
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.purge()
        protected void purge() {
             
            if (lock != null) {
                 
                lock.lock();
                try {
                    super.purge();
                } finally {
                    lock.unlock();
                }
            }
        }
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #421 Negative (Non-Clone)
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #422 Negative (Non-Clone)
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #423 Negative (Non-Clone)
ID: 1248_1081
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createOutHeaderFunction()
    private XPathFunction createOutHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (exchange.get() != null && !list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getOut().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #424 Negative (Non-Clone)
ID: 3233_2550
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseExpression()
    public Expression parseExpression() {
        try {
            parseTokens();
            return doParseExpression();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
Pair #425 Negative (Non-Clone)
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #426 Negative (Non-Clone)
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #427 Negative (Non-Clone)
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #428 Negative (Non-Clone)
ID: 190_211
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeSObjectCollectionsProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        final String apiVersion = configuration.getApiVersion();

        compositeClient = new DefaultCompositeSObjectCollectionsApiClient(
                configuration, apiVersion, session, httpClient, loginConfig);

        if (classMap == null) {
            this.classMap = endpoint.getComponent().getClassMap();
        }
        ServiceHelper.startService(compositeClient);
    }
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
Pair #429 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #430 Negative (Non-Clone)
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #431 Negative (Non-Clone)
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
Pair #432 Negative (Non-Clone)
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
Pair #433 Negative (Non-Clone)
ID: 2660_2336
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollDynamicAwareResolver.java
Name: org.apache.camel.processor.PollDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public PollDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PollDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (PollDynamicAware.class.isAssignableFrom(type)) {
                PollDynamicAware answer = (PollDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PollDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #434 Negative (Non-Clone)
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #435 Negative (Non-Clone)
ID: 657_580
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
Name: org.apache.camel.component.openstack.nova.NovaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NovaConstants.NOVA_SUBSYSTEM_FLAVORS:
                return new FlavorsProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_SERVERS:
                return new ServerProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_KEYPAIRS:
                return new KeypairProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #436 Negative (Non-Clone)
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
ID: 1126_960
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations) {
        String imageBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_BASE64, String.class);
        clientConfigurations.setImageBase64(StringUtils.isEmpty(imageBase64) ? this.endpoint.getImageBase64() : imageBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getImageBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String imageUrl = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_URL, String.class);
        clientConfigurations.setImageUrl(StringUtils.isEmpty(imageUrl) ? this.endpoint.getImageUrl() : imageUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getImageUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String imageFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_FILE_PATH, String.class);
        clientConfigurations
                .setImageFilePath(StringUtils.isEmpty(imageFilePath) ? this.endpoint.getImageFilePath() : imageFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getImageFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of image base64, url and filePath needs to be set");
    }
Pair #437 Negative (Non-Clone)
ID: 217_239
ClassID: 217
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
Name: org.apache.camel.impl.engine.SubscribeMethodProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            for (Map.Entry<AsyncProcessor, Predicate> entry : methods.entrySet()) {
                Predicate predicate = entry.getValue();
                if (predicate.matches(exchange)) {
                    return entry.getKey().process(exchange, callback);
                }
            }
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #438 Negative (Non-Clone)
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #439 Negative (Non-Clone)
ID: 2538_2113
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadVersion(String version)
    public boolean loadVersion(String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String camelCatalogGAV = String.format("org.apache.camel:camel-catalog:%s", version);
            resolve(mavenDownloader, camelCatalogGAV, version.contains("SNAPSHOT"));

            this.version = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #440 Negative (Non-Clone)
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #441 Negative (Non-Clone)
ID: 3247_2588
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupClusterService()
    private void setupClusterService() throws Exception {
        Map<String, CamelClusterService> clusterServices
                = getContext().getRegistry().findByTypeWithName(CamelClusterService.class);
        if (clusterServices != null && !clusterServices.isEmpty()) {
            for (Entry<String, CamelClusterService> entry : clusterServices.entrySet()) {
                CamelClusterService service = entry.getValue();
                LOG.info("Using CamelClusterService with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
Pair #442 Negative (Non-Clone)
ID: 1066_923
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatement(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatement(Exchange exchange, String sql, Connection conn) throws Exception {

        Statement stmt = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            stmt = conn.createStatement();
            bindParameters(exchange, stmt);

            LOG.debug("Executing JDBC Statement: {}", sql);

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            boolean stmtExecutionResult;
            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    stmtExecutionResult = stmt.execute(sql, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    stmtExecutionResult = stmt.execute(sql, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    stmtExecutionResult = stmt.execute(sql, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                stmtExecutionResult = stmt.execute(sql);
            }

            if (stmtExecutionResult) {
                rs = stmt.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = stmt.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, stmt.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(stmt);
            } else {
                final Statement finalStmt = stmt;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalStmt);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #443 Negative (Non-Clone)
ID: 497_524
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #444 Negative (Non-Clone)
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
Pair #445 Negative (Non-Clone)
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
Pair #446 Negative (Non-Clone)
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #447 Negative (Non-Clone)
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #448 Negative (Non-Clone)
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
Pair #449 Negative (Non-Clone)
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #450 Negative (Non-Clone)
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 891_738
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:datasetId:tableName\"");
        }

        GoogleBigQueryConfiguration conf = configuration != null ? configuration.copy() : new GoogleBigQueryConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQueryEndpoint endpoint = new GoogleBigQueryEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #451 Negative (Non-Clone)
ID: 829_709
ClassID: 829
File: systems/camel-java/components/camel-csimple-joor/src/main/java/org/apache/camel/language/csimple/joor/JoorCSimpleCompilationException.java
Name: org.apache.camel.language.csimple.joor.JoorCSimpleCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
Pair #452 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #453 Negative (Non-Clone)
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
Pair #454 Negative (Non-Clone)
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #455 Negative (Non-Clone)
ID: 1311_1189
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doListHPAByLabel(Exchange exchange)
    protected void doListHPAByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get HPA by labels require specify a labels set");
            throw new IllegalArgumentException("Get HPA by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace()
                    .withLabels(labels).list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
ID: 1984_1627
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PromptInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PromptInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionCategory> detectedCategories = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (pattern.getPattern().matcher(text).find()) {
                if (!detectedCategories.contains(pattern.getCategory())) {
                    detectedCategories.add(pattern.getCategory());
                }

                 
                if (strict) {
                    return failure(
                            String.format("Potential prompt injection detected: %s pattern. " +
                                          "Please rephrase your request.",
                                    pattern.getCategory()));
                }
            }
        }

         
        if (detectedCategories.size() >= 2) {
            return failure(
                    String.format("Potential prompt injection detected: multiple suspicious patterns (%s). " +
                                  "Please rephrase your request.",
                            detectedCategories));
        }

        return success();
    }
Pair #456 Negative (Non-Clone)
ID: 3251_2599
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean.getObject()
    public SecureRandomParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #457 Negative (Non-Clone)
ID: 23_31
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 757_679
ClassID: 757
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketResultHandler.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketResultHandler.onResult(String connectionKey)
    void onResult(String connectionKey) {
        lock.lock();
        try {
            connectionKeys.remove(connectionKey);
            if (connectionKeys.isEmpty()) {
                onComplete();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #458 Negative (Non-Clone)
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #459 Negative (Non-Clone)
ID: 1855_1510
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in Vault: {}", metadata);
        return keyPair;
    }
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
Pair #460 Negative (Non-Clone)
ID: 239_297
ClassID: 239
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1378_1244
ClassID: 1378
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
Name: org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.cloneBuilder(DefaultErrorHandlerDefinition other)
    protected void cloneBuilder(DefaultErrorHandlerDefinition other) {
        other.setExecutorServiceBean(getExecutorServiceBean());
        other.setExecutorServiceRef(getExecutorServiceRef());
        other.setLevel(getLevel());
        other.setLogName(getLogName());
        other.setLoggerBean(getLoggerBean());
        other.setLoggerRef(getLoggerRef());
        other.setOnExceptionOccurredProcessor(getOnExceptionOccurredProcessor());
        other.setOnExceptionOccurredRef(getOnExceptionOccurredRef());
        other.setOnPrepareFailureProcessor(getOnPrepareFailureProcessor());
        other.setOnPrepareFailureRef(getOnPrepareFailureRef());
        other.setOnRedeliveryProcessor(getOnRedeliveryProcessor());
        other.setOnRedeliveryRef(getOnRedeliveryRef());
        other.setRedeliveryPolicyRef(getRedeliveryPolicyRef());
        other.setRetryWhilePredicate(getRetryWhilePredicate());
        other.setRetryWhileRef(getRetryWhileRef());
        other.setUseOriginalBody(getUseOriginalBody());
        other.setUseOriginalMessage(getUseOriginalMessage());
        if (hasRedeliveryPolicy()) {
            other.setRedeliveryPolicy(getRedeliveryPolicy().copy());
        }
    }
Pair #461 Negative (Non-Clone)
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
Pair #462 Negative (Non-Clone)
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #463 Negative (Non-Clone)
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
Pair #464 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #465 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #466 Negative (Non-Clone)
ID: 2563_2137
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getClassJavadocRaw(AbstractJavaSource clazz, String rawClass)
    private static String getClassJavadocRaw(AbstractJavaSource clazz, String rawClass) {
        Object obj = clazz.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #467 Negative (Non-Clone)
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
Pair #468 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
Pair #469 Negative (Non-Clone)
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 3203_2466
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withConfigurations(String configurations)
    public MainConfigurationProperties withConfigurations(String configurations) {
        if (this.configurationClasses == null) {
            this.configurationClasses = "";
        }
        if (this.configurationClasses.isEmpty()) {
            this.configurationClasses = configurations;
        } else {
            this.configurationClasses = "," + configurations;
        }
        return this;
    }
Pair #470 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #471 Negative (Non-Clone)
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
Pair #472 Negative (Non-Clone)
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #473 Negative (Non-Clone)
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #474 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
Pair #475 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
Pair #476 Negative (Non-Clone)
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #477 Negative (Non-Clone)
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 3231_2546
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.messageOgnlExpression(final String name, final String ognl)
    public static Expression messageOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object msg = exchange.getMessage(type);
                if (msg != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, msg, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "messageOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #478 Negative (Non-Clone)
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #479 Negative (Non-Clone)
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
ID: 3237_2559
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.reifier(CamelContext camelContext, TransformerDefinition definition)
    public static TransformerReifier<? extends TransformerDefinition> reifier(
            CamelContext camelContext, TransformerDefinition definition) {

        TransformerReifier<? extends TransformerDefinition> answer = null;
        if (!TRANSFORMERS.isEmpty()) {
             
            BiFunction<CamelContext, TransformerDefinition, TransformerReifier<? extends TransformerDefinition>> reifier
                    = TRANSFORMERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #480 Negative (Non-Clone)
ID: 1411_1264
ClassID: 1411
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
Name: org.apache.camel.component.cometd.CometdComponent.doStop()
    protected void doStop() throws Exception {
        connectorsLock.lock();
        try {
            for (ConnectorRef connectorRef : connectors.values()) {
                connectorRef.connector.stop();
            }
            connectors.clear();
        } finally {
            connectorsLock.unlock();
        }

        super.doStop();
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #481 Negative (Non-Clone)
ID: 1691_1415
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper() {

                    @Override
                    public CamelContext getCamelContext() {
                         
                         
                         
                         
                        return delegate.getOrLookupCamelContext();
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #482 Negative (Non-Clone)
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 2178_1715
ClassID: 2178
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CamelCommandHelper.java
Name: org.apache.camel.dsl.jbang.core.common.CamelCommandHelper.extractState(int status)
    public static String extractState(int status) {
        if (status <= 4) {
            return "Starting";
        } else if (status == 5) {
            return "Running";
        } else if (status == 6) {
            return "Suspending";
        } else if (status == 7) {
            return "Suspended";
        } else if (status == 8) {
            return "Terminating";
        } else if (status == 9) {
            return "Terminated";
        } else {
            return "Terminated";
        }
    }
Pair #483 Negative (Non-Clone)
ID: 1240_1066
ClassID: 1240
File: systems/camel-java/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaConverterLoader.java
Name: org.apache.camel.component.mina.MinaConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toByteArray((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toInputStream((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.ObjectInput.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toObjectInput((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toString((org.apache.mina.core.buffer.IoBuffer) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, org.apache.camel.StreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((org.apache.camel.StreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #484 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #485 Negative (Non-Clone)
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #486 Negative (Non-Clone)
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #487 Negative (Non-Clone)
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #488 Negative (Non-Clone)
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
Pair #489 Negative (Non-Clone)
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #490 Negative (Non-Clone)
ID: 1546_1362
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (leaderSelector == null || isStoppingOrStopped()) {
            return Optional.empty();
        }

        try {
            Participant participant = leaderSelector.getLeader();

            return ObjectHelper.equal(participant.getId(), localMember.getId())
                    ? Optional.of(localMember)
                    : Optional.of(new CuratorClusterMember(participant));
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get get master because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Optional.empty();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
Pair #491 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #492 Negative (Non-Clone)
ID: 1310_1182
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodList podList;

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
Pair #493 Negative (Non-Clone)
ID: 1784_1465
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (socketConnectors != null) {
            answer = socketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
ID: 2522_2088
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.JmsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "clientId": getOrCreateConfiguration((JmsComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((JmsComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((JmsComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((JmsComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((JmsComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((JmsComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((JmsComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((JmsComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((JmsComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((JmsComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((JmsComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((JmsComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((JmsComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((JmsComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((JmsComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((JmsComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((JmsComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((JmsComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((JmsComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((JmsComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((JmsComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((JmsComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((JmsComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((JmsComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((JmsComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((JmsComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((JmsComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((JmsComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((JmsComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((JmsComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((JmsComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((JmsComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((JmsComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((JmsComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((JmsComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((JmsComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((JmsComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((JmsComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((JmsComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((JmsComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((JmsComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((JmsComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((JmsComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((JmsComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((JmsComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((JmsComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((JmsComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((JmsComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((JmsComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((JmsComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((JmsComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((JmsComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((JmsComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((JmsComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((JmsComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((JmsComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((JmsComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((JmsComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((JmsComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((JmsComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((JmsComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((JmsComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((JmsComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((JmsComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((JmsComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((JmsComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((JmsComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((JmsComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((JmsComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((JmsComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((JmsComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((JmsComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((JmsComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((JmsComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((JmsComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((JmsComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((JmsComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((JmsComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((JmsComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((JmsComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((JmsComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((JmsComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((JmsComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((JmsComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((JmsComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((JmsComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((JmsComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((JmsComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #494 Negative (Non-Clone)
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #495 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 1250_1085
ClassID: 1250
File: systems/camel-java/components/camel-reactive-executor-tomcat/src/main/java/org/apache/camel/reactive/tomcat/TomcatReactiveExecutor.java
Name: org.apache.camel.reactive.tomcat.TomcatReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                if (stats) {
                    executor.pendingTasks.decrement();
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception e) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", e.getMessage(), e);
            }
            return true;
        }
Pair #496 Negative (Non-Clone)
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
Pair #497 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #498 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 3103_2383
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.ignoreInvalidExchanges()
    public ResequenceDefinition ignoreInvalidExchanges() {
        if (streamConfig != null) {
            streamConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        } else {
             
            if (batchConfig == null) {
                batch();
            }
            batchConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        }
        return this;
    }
Pair #499 Negative (Non-Clone)
ID: 1874_1546
ClassID: 1874
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeEnvironment.java
Name: org.apache.camel.component.knative.spi.KnativeEnvironment.withMeta(String key, String value)
        public KnativeServiceBuilder withMeta(String key, String value) {
            if (key == null || value == null) {
                return this;
            }
            if (this.metadata == null) {
                this.metadata = new HashMap<>();
            }
            this.metadata.put(key, value);
            return this;
        }
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #500 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #501 Negative (Non-Clone)
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #502 Negative (Non-Clone)
ID: 3272_2645
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri)
    public static InputStream resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri) throws IOException {
        InputStream is = resolveResourceAsInputStream(camelContext, uri);
        if (is == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " for URI: " + uri);
        } else {
            return is;
        }
    }
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #503 Negative (Non-Clone)
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
Pair #504 Negative (Non-Clone)
ID: 2272_1794
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.query(final String query)
    public static QueryBuilder query(final String query) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createQuery(query);
            }

            @Override
            public String toString() {
                return "Query: " + query + getParameterDescription();
            }
        };
    }
ID: 658_591
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.PortProducer.messageToPort(Message message)
    private Port messageToPort(Message message) {
        Port port = message.getBody(Port.class);

        if (port == null) {
            Map headers = message.getHeaders();
            PortBuilder builder = Builders.port();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
                builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
                builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
            }

            port = builder.build();
        }
        return port;
    }
Pair #505 Negative (Non-Clone)
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #506 Negative (Non-Clone)
ID: 2468_1988
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #507 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 1213_1035
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
Pair #508 Negative (Non-Clone)
ID: 1619_1394
ClassID: 1619
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
Pair #509 Negative (Non-Clone)
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
Pair #510 Negative (Non-Clone)
ID: 1405_1255
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMultiTemplate(Exchange exchange)
    protected SubmitMulti createSubmitMultiTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitMulti submitMulti = new SubmitMulti();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitMulti.setDataCoding(config.getDataCoding());
        }

        byte destAddrTon;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            destAddrTon = in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class);
        } else {
            destAddrTon = config.getDestAddrTon();
        }

        byte destAddrNpi;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            destAddrNpi = in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class);
        } else {
            destAddrNpi = config.getDestAddrNpi();
        }

        List<String> destAddresses;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            destAddresses = in.getHeader(SmppConstants.DEST_ADDR, List.class);
        } else {
            destAddresses = Arrays.asList(config.getDestAddr());
        }

        Address[] addresses = new Address[destAddresses.size()];
        int addrNum = 0;
        for (String destAddr : destAddresses) {
            Address addr = new Address(destAddrTon, destAddrNpi, destAddr);
            addresses[addrNum++] = addr;
        }
        submitMulti.setDestAddresses(addresses);

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitMulti.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitMulti.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitMulti.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitMulti.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitMulti.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitMulti.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitMulti.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitMulti.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitMulti.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitMulti.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitMulti.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitMulti.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitMulti.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitMulti.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitMulti.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitMulti.setReplaceIfPresentFlag(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitMulti.setReplaceIfPresentFlag(config.getReplaceIfPresentFlag());
        }

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitMulti.setOptionalParameters(new OptionalParameter[] {});
            }
        }

        return submitMulti;
    }
ID: 452_481
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.copyFile(String fileId, String destinationFolderId, String newName)
    public BoxFile copyFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToCopy = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return fileToCopy.copy(destinationFolder).getResource();
            } else {
                return fileToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #511 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
Pair #512 Negative (Non-Clone)
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #513 Negative (Non-Clone)
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #514 Negative (Non-Clone)
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
Pair #515 Negative (Non-Clone)
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #516 Negative (Non-Clone)
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
Pair #517 Negative (Non-Clone)
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
Pair #518 Negative (Non-Clone)
ID: 1492_1331
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final String node)
    public static String nodeValue(final String namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #519 Negative (Non-Clone)
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
Pair #520 Negative (Non-Clone)
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #521 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
Pair #522 Negative (Non-Clone)
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
Pair #523 Negative (Non-Clone)
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
Pair #524 Negative (Non-Clone)
ID: 1244_1069
ClassID: 1244
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Component.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDb2Endpoint endpoint = new InfluxDb2Endpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDBClient target = influxDBClient;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDBClient.class);
        }
        endpoint.setInfluxDBClient(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
Pair #525 Negative (Non-Clone)
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
ID: 306_371
ClassID: 306
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.KafkaSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #526 Negative (Non-Clone)
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #527 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #528 Negative (Non-Clone)
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2463_1970
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.readReceiveFiles(Map<Long, Pid> pids)
    private int readReceiveFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getReceiveFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #529 Negative (Non-Clone)
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
ID: 1431_1288
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeCompressedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeCompressedDataEntity applicationPkcs7MimeCompressedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeCompressedDataEntity
                    = parseApplicationPkcs7MimeCompressedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeCompressedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeCompressedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
Pair #530 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 51_63
ClassID: 51
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheManager.java
Name: org.apache.camel.component.jcache.JCacheManager.close()
    public void close() throws IOException {
        lock.lock();
        try {
            if (configuration != null) {
                if (cache != null) {
                    cache.close();
                }

                if (manager != null) {
                    manager.close();
                }

                if (provider != null) {
                    provider.close();
                }
            }
        } finally {
            lock.unlock();
        }
    }
Pair #531 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
Pair #532 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 1426_1276
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt, CMSEnvelopedDataGenerator dataGenerator, OutputEncryptor encryptor, String encryptedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt,
                                                   CMSEnvelopedDataGenerator dataGenerator,
                                                   OutputEncryptor encryptor,
                                                   String encryptedContentTransferEncoding,
                                                   boolean isMainBody)
                                                                       throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "enveloped-data"),
                new BasicNameValuePair("name", "smime.p7m")),
              encryptedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.encryptedData = createEncryptedData(entity2Encrypt, dataGenerator, encryptor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #533 Negative (Non-Clone)
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
ID: 308_375
ClassID: 308
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
Pair #534 Negative (Non-Clone)
ID: 3279_2667
ClassID: 3279
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNull(final Expression expression)
    public static Predicate isNull(final Expression expression) {
        return new BinaryPredicateSupport(expression, ExpressionBuilder.constantExpression(null)) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                 
                 
                return "is";
            }
        };
    }
ID: 617_556
ClassID: 617
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.buildProducer()
    protected GenericFileProducer<FTPFile> buildProducer() {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new RemoteFileProducer<>(this, createRemoteFileOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #535 Negative (Non-Clone)
ID: 3251_2598
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.getObject()
    public TrustManagersParameters getObject() throws Exception {
        if (isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
Pair #536 Negative (Non-Clone)
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
ID: 2611_2249
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(PojoBeanModel model)
    public static JsonObject asJsonObject(PojoBeanModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("bean", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
Pair #537 Negative (Non-Clone)
ID: 18_27
ClassID: 18
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer target = (org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer) obj;
        switch (key) {
        case "query":
        case "QUERY": target.onQuery(exchange.getMessage()); return null;
        case "stats":
        case "STATS": target.onStats(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #538 Negative (Non-Clone)
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
Pair #539 Negative (Non-Clone)
ID: 1008_870
ClassID: 1008
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ClientEntitySet) {
            index((ClientEntitySet) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else {
            indexDefault(result);
        }
    }
ID: 195_222
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetRequest(final Exchange exchange, final AsyncCallback callback)
    private void processGetRequest(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }

        bulkClient.getRequest(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch request: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #540 Negative (Non-Clone)
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #541 Negative (Non-Clone)
ID: 241_307
ClassID: 241
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("AWS Secrets Manager:");
            sb.append(String.format("\n    Region: %s", propertiesFunction.getRegion()));
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                sb.append("\n    Login: DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                sb.append("\n    Login: ProfileCredentialsProvider");
            } else {
                sb.append("\n    Login: Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", aws.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", aws.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #542 Negative (Non-Clone)
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #543 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #544 Negative (Non-Clone)
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #545 Negative (Non-Clone)
ID: 3172_2442
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.completedExchange(exchange, time);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesCompleted.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.completedExchange(exchange, time);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesCompleted.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #546 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 482_506
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #547 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #548 Negative (Non-Clone)
ID: 27_43
ClassID: 27
File: systems/camel-java/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 482_506
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #549 Negative (Non-Clone)
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
ID: 897_753
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
Name: org.apache.camel.component.aws2.ddbstream.Ddb2StreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = 0;

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
             
             
            Exchange exchange = (Exchange) exchanges.poll();
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            answer++;
        }

        return answer;
    }
Pair #550 Negative (Non-Clone)
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
Pair #551 Negative (Non-Clone)
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 1313_1207
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation)
    private void doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation) {
        String podName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodSpec podSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
        if (ObjectHelper.isEmpty(podName)) {
            LOG.error("{} a specific pod require specify a pod name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific pod require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific pod require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(podSpec)) {
            LOG.error("{} a specific pod require specify a pod spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a pod spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Pod podCreating = new PodBuilder().withNewMetadata().withName(podName).withLabels(labels).endMetadata()
                .withSpec(podSpec).build();
        Pod pod = operation.apply(getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).resource(podCreating));

        prepareOutboundMessage(exchange, pod);
    }
Pair #552 Negative (Non-Clone)
ID: 18_20
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer target = (org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer) obj;
        switch (key) {
        case "delete_key":
        case "DELETE_KEY": target.deleteKey(exchange.getMessage()); return null;
        case "delete_keys":
        case "DELETE_KEYS": target.deleteKeys(exchange.getMessage()); return null;
        case "get_keys":
        case "GET_KEYS": target.getKeys(exchange.getMessage()); return null;
        case "get_sessions":
        case "GET_SESSIONS": target.getSessions(exchange.getMessage()); return null;
        case "get_value":
        case "GET_VALUE": target.getValue(exchange.getMessage()); return null;
        case "get_values":
        case "GET_VALUES": target.getValues(exchange.getMessage()); return null;
        case "lock":
        case "LOCK": target.lock(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.put(exchange.getMessage()); return null;
        case "unlock":
        case "UNLOCK": target.unlock(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #553 Negative (Non-Clone)
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
Pair #554 Negative (Non-Clone)
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 306_371
ClassID: 306
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.KafkaSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #555 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
Pair #556 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 1886_1555
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration)
    protected void configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                        type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
                LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                        codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
            }
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #557 Negative (Non-Clone)
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
Pair #558 Negative (Non-Clone)
ID: 2538_2114
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadRuntimeProviderVersion(String groupId, String artifactId, String version)
    public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String gav = String.format("%s:%s:%s", groupId, artifactId, version);
            resolve(mavenDownloader, gav, version.contains("SNAPSHOT"));

            this.runtimeProviderVersion = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load runtime provider version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #559 Negative (Non-Clone)
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #560 Negative (Non-Clone)
ID: 899_768
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #561 Negative (Non-Clone)
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #562 Negative (Non-Clone)
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #563 Negative (Non-Clone)
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #564 Negative (Non-Clone)
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
Pair #565 Negative (Non-Clone)
ID: 2273_1799
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(final Exchange exchange, final String messageId)
    public boolean contains(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("contains {} -> {}", messageId, rc[0]);
        return rc[0];
    }
ID: 3098_2368
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.bindingMode(String mode)
    public RestDefinition bindingMode(String mode) {
        if (getVerbs().isEmpty()) {
            this.bindingMode = mode.toLowerCase();
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setBindingMode(mode.toLowerCase());
        }

        return this;
    }
Pair #566 Negative (Non-Clone)
ID: 3244_2575
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertHeaderReifier.java
Name: org.apache.camel.reifier.ConvertHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertHeaderProcessor answer
                = new ConvertHeaderProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #567 Negative (Non-Clone)
ID: 2648_2307
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onDataFormatCreated(String name, DataFormat dataFormat)
    public void onDataFormatCreated(String name, DataFormat dataFormat) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<DataFormatCustomizer.Policy> filters = registry.findByType(DataFormatCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, dataFormat))) {
            registry.findByType(DataFormatCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, dataFormat))
                    .forEach(customizer -> customizer.configure(name, dataFormat));
        }
    }
ID: 2454_1950
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Spring Boot project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copyApplicationPropertiesFiles(srcResourcesDir);

         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);

         
        createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
         
        final Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            boolean http = deps.stream().anyMatch(s -> s.contains("mvn:org.apache.camel:camel-platform-http"));
            if (!http) {
                prop.put("camel.main.run-controller", "true");
            }
             
            if (!prop.containsKey("server.port")) {
                int port = httpServerPort(settings);
                if (port == -1 && http) {
                    port = 8080;
                }
                if (port != -1 && port != 8080) {
                    prop.put("server.port", port);
                }
            }
            if (!prop.containsKey("management.server.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("management.server.port", port);
                }
            }
            if (hawtio) {
                 
                String s = prop.getProperty("management.endpoints.web.exposure.include");
                if (s == null) {
                    s = "hawtio,jolokia";
                } else {
                    s = s + ",hawtio,jolokia";
                }
                prop.setProperty("management.endpoints.web.exposure.include", s);
                prop.setProperty("spring.jmx.enabled", "true");
                prop.setProperty("hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, profile, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + ids[1] + "-" + ids[2] + ".jar";
        copyReadme(BUILD_DIR, appJar);
        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Paths.get(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
Pair #568 Negative (Non-Clone)
ID: 634_564
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveTriggerKey(Action action, String routeId)
    public TriggerKey retrieveTriggerKey(Action action, String routeId) {
        ScheduledRouteDetails scheduledRouteDetails = getScheduledRouteDetails(routeId);
        TriggerKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartTriggerKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopTriggerKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendTriggerKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeTriggerKey();
        }

        return result;
    }
ID: 181_170
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
    private <T> T unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, typeRef);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
Pair #569 Negative (Non-Clone)
ID: 1309_1172
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.eventReceived(Action action, ReplicationController resource)
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
Pair #570 Negative (Non-Clone)
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #571 Negative (Non-Clone)
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
Pair #572 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #573 Negative (Non-Clone)
ID: 1282_1130
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findEdgeByKey()
    private Function<Exchange, Object> findEdgeByKey() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseEdgeDocument.class;
                return edgeCollection.getEdge(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #574 Negative (Non-Clone)
ID: 3283_2677
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createXmlElementMaskPattern(Set<String> keywords)
    protected Pattern createXmlElementMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "(<([\\w]*(?:");
        regex.append(")[\\w]*)(?:[\\s]+.+)*?>[\\s]*?)(?:[\\S&&[^<]]+(?:\\s+[\\S&&[^<]]+)*?)([\\s]*?</\\2>)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("XML Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 1148_989
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/CounterProducer.java
Name: org.apache.camel.opentelemetry.metrics.CounterProducer.getInstrument(String name, String description)
    protected LongUpDownCounter getInstrument(String name, String description) {
        LongUpDownCounter counter = counters.get(name);
        if (counter == null) {
            synchronized (lock) {
                counter = counters.get(name);
                if (counter == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongUpDownCounterBuilder builder = meter.upDownCounterBuilder(name);
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    counter = builder.build();
                    counters.put(name, counter);
                }
            }
        }
        return counter;
    }
Pair #575 Negative (Non-Clone)
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #576 Negative (Non-Clone)
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #577 Negative (Non-Clone)
ID: 2231_1749
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateBranch(String operation)
    protected void doCreateBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchCreate().setName(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #578 Negative (Non-Clone)
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
ID: 3208_2475
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<JsonObject> list = new ArrayList<>();
        root.put("services", list);

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            JsonObject jo = new JsonObject();
            jo.put("component", es.getComponent());
            jo.put("direction", es.getDirection());
            jo.put("hosted", es.isHostedService());
            jo.put("protocol", es.getServiceProtocol());
            jo.put("serviceUrl", es.getServiceUrl());
            jo.put("endpointUri", es.getEndpointUri());
            if (es.getRouteId() != null) {
                jo.put("routeId", es.getRouteId());
            }
            jo.put("hits", es.getHits());
            var map = es.getServiceMetadata();
            if (map != null) {
                jo.put("metadata", map);
            }
            list.add(jo);
        }

        return root;
    }
Pair #579 Negative (Non-Clone)
ID: 1459_1311
ClassID: 1459
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprOperationResponse.java
Name: org.apache.camel.component.dapr.operations.DaprOperationResponse.createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus)
    public static DaprOperationResponse createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus) {
        Map<String, Object> responseHeaders = new HashMap<>();

        responseHeaders.put(DaprConstants.WORKFLOW_NAME, workflowStatus.getName());
        responseHeaders.put(DaprConstants.WORKFLOW_CREATED_AT, workflowStatus.getCreatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_UPDATED_AT, workflowStatus.getLastUpdatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_INPUT, workflowStatus.getSerializedInput());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_OUTPUT, workflowStatus.getSerializedOutput());
        responseHeaders.put(DaprConstants.WORKFLOW_FAILURE_DETAILS, workflowStatus.getFailureDetails());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_RUNNING, workflowStatus.isRunning());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_COMPLETED, workflowStatus.isCompleted());

        return create(workflowStatus, responseHeaders);
    }
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #580 Negative (Non-Clone)
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #581 Negative (Non-Clone)
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
Pair #582 Negative (Non-Clone)
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2541_2117
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findJavaFiles(File dir, Set<File> javaFiles)
    public static void findJavaFiles(File dir, Set<File> javaFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".java")) {
                    javaFiles.add(file);
                } else if (file.isDirectory()) {
                    findJavaFiles(file, javaFiles);
                }
            }
        }
    }
Pair #583 Negative (Non-Clone)
ID: 3100_2375
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ResponseHeaderDefinition.java
Name: org.apache.camel.model.rest.ResponseHeaderDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #584 Negative (Non-Clone)
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
ID: 2302_1825
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getAsyncClient(final Kinesis2Endpoint endpoint)
    public KinesisAsyncClient getAsyncClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisAsyncClient)) {
                kinesisAsyncClient = endpoint.getConfiguration().getAmazonKinesisAsyncClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisAsyncClient()
                        : KinesisClientFactory.getKinesisAsyncClient(endpoint.getConfiguration());
            }
            return kinesisAsyncClient;
        } finally {
            lock.unlock();
        }
    }
Pair #585 Negative (Non-Clone)
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
ID: 2575_2162
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DataTypeTransformerModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DATA_TYPE_ANNOTATION);
        annotations.forEach(a -> {
            DataTypeTransformerModel model = new DataTypeTransformerModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setName(annotationValue(a, "name"));
            model.setFrom(annotationValue(a, "from"));
            model.setTo(annotationValue(a, "to"));
            model.setDescription(annotationValue(a, "description"));
            models.add(model);
        });
        models.sort(Comparator.comparing(DataTypeTransformerModel::getName));

        if (!models.isEmpty()) {
            try {
                StringJoiner names = new StringJoiner(" ");
                for (var model : models) {
                    names.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/services/org/apache/camel/transformer/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated transformer json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "transformers", names.toString());
                updateResource(camelMetaDir.toPath(), "transformer.properties", properties);
                getLog().info("Generated transformer.properties containing " + count + " Camel "
                              + (count > 1 ? "transformers: " : "transformer: ") + names);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
Pair #586 Negative (Non-Clone)
ID: 1248_1081
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createOutHeaderFunction()
    private XPathFunction createOutHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (exchange.get() != null && !list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getOut().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #587 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 744_672
ClassID: 744
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/DebeziumConsumer.java
Name: org.apache.camel.component.debezium.DebeziumConsumer.onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event)
    private void onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event) {
        final Exchange exchange = endpoint.createDbzExchange(this, event.value());

        try {
             
            getProcessor().process(exchange);
        } catch (Exception ex) {
            exchange.setException(ex);
        } finally {
             
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange,
                        exchange.getException());
            }
            releaseExchange(exchange, false);
        }
    }
Pair #588 Negative (Non-Clone)
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #589 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #590 Negative (Non-Clone)
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #591 Negative (Non-Clone)
ID: 3209_2480
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
Name: org.apache.camel.impl.console.SourceDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(SourceDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #592 Negative (Non-Clone)
ID: 1215_1038
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #593 Negative (Non-Clone)
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #594 Negative (Non-Clone)
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 1265_1109
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters)
    public static String extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters) {
        Object param = parameters.get(PARAM_TEMPLATE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_TEMPLATE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.before(remaining, "/");
        }
        if (answer == null) {
            answer = remaining;
        }

        return answer;
    }
Pair #595 Negative (Non-Clone)
ID: 1853_1506
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PublicKey importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPublicKey(keyData);
        } else {
            derBytes = keyData;
        }

        X509EncodedKeySpec spec = new X509EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePublic(spec);
    }
ID: 2295_1813
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #596 Negative (Non-Clone)
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
Pair #597 Negative (Non-Clone)
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #598 Negative (Non-Clone)
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #599 Negative (Non-Clone)
ID: 444_472
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketDelimiterDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketDelimiterDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            Object result = delegateDecoder.decode(ctx, payload);
            AddressedEnvelope<Object, InetSocketAddress> addressEvelop
                    = new DefaultAddressedEnvelope<>(result, msg.recipient(), msg.sender());
            out.add(addressEvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
Pair #600 Negative (Non-Clone)
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #601 Negative (Non-Clone)
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
ID: 1871_1540
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #602 Negative (Non-Clone)
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
Pair #603 Negative (Non-Clone)
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
ID: 483_507
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
Pair #604 Negative (Non-Clone)
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 2580_2176
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadEipJson(File file)
    private static String loadEipJson(File file) {
        try {
            String json = PackageHelper.loadText(file);
            if ("model".equals(PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #605 Negative (Non-Clone)
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
Pair #606 Negative (Non-Clone)
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 3221_2506
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SingleQuoteStart.java
Name: org.apache.camel.language.simple.ast.SingleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #607 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #608 Negative (Non-Clone)
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #609 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 1449_1304
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.invalidRecord(InvalidRecordException ex)
    public void invalidRecord(InvalidRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "InvalidRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreInvalidRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
Pair #610 Negative (Non-Clone)
ID: 2046_1659
ClassID: 2046
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.SftpChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #611 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
Pair #612 Negative (Non-Clone)
ID: 901_774
ClassID: 901
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.getEndpointConfiguration(GoogleSheetsApiName apiName)
    public GoogleSheetsConfiguration getEndpointConfiguration(GoogleSheetsApiName apiName) {
        GoogleSheetsConfiguration result = null;
        switch (apiName) {
            case SPREADSHEETS:
                result = new SheetsSpreadsheetsEndpointConfiguration();
                break;
            case DATA:
                result = new SheetsSpreadsheetsValuesEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2365_1864
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange)
    private void processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange) {
        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            org.apache.camel.Message message = getMessageForResponse(exchange);
            org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata metadata
                    = new org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createChunksHandler(
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createCompleteHandler(
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Converse Stream command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #613 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
Pair #614 Negative (Non-Clone)
ID: 2604_2230
ClassID: 2604
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
Pair #615 Negative (Non-Clone)
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #616 Negative (Non-Clone)
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 910_790
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            UpdateFunctionRequest request = exchange.getIn().getMandatoryBody(UpdateFunctionRequest.class);
            response = client.updateFunctionAsync(request).get();
        } else {
            throw new IllegalArgumentException("updateFunction is supported only in pojo mode");
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #617 Negative (Non-Clone)
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
Pair #618 Negative (Non-Clone)
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #619 Negative (Non-Clone)
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #620 Negative (Non-Clone)
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 2663_2344
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.calculateAndSetMaxRequestsPerPeriod(final Exchange exchange)
        public void calculateAndSetMaxRequestsPerPeriod(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle
                        = TotalRequestsThrottler.this.getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumRequestsPerPeriod must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxRequestsPerPeriodExpression was evaluated as null: "
                                                       + TotalRequestsThrottler.this.getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            while (delta > 0) {
                                delayQueue.take();
                                delta--;
                                if (LOG.isTraceEnabled()) {
                                    LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}",
                                            exchange.getExchangeId());
                                }
                            }
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            for (int i = 0; i < delta; i++) {
                                delayQueue.put(new ThrottlePermit(-1));
                            }
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #621 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 2386_1880
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onReply(int num, String value, String msg)
        public void onReply(int num, String value, String msg) {
            if (configuration.isOnReply()) {
                Exchange exchange = createOnReplyExchange(num, value, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #622 Negative (Non-Clone)
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
ID: 3232_2549
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeExceptionOgnlExpression(final String ognl)
    public static Expression exchangeExceptionOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object exception = exchange.getException();
                if (exception == null) {
                    exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Exception.class);
                }

                if (exception == null) {
                    return null;
                }

                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exception, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeExceptionOgnl(" + ognl + ")";
            }
        };
    }
Pair #623 Negative (Non-Clone)
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #624 Negative (Non-Clone)
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 1889_1561
ClassID: 1889
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaUdpProtocolCodecFactory.java
Name: org.apache.camel.component.mina.MinaUdpProtocolCodecFactory.getDecoder(IoSession session)
    public ProtocolDecoder getDecoder(IoSession session) throws Exception {
        return new ProtocolDecoder() {

            public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
                 
                 
                byte[] bytes = context.getTypeConverter().mandatoryConvertTo(byte[].class, in);
                out.write(bytes);
            }

            public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
                 
            }

            public void dispose(IoSession session) throws Exception {
                 
            }
        };
    }
Pair #625 Negative (Non-Clone)
ID: 1405_1255
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMultiTemplate(Exchange exchange)
    protected SubmitMulti createSubmitMultiTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitMulti submitMulti = new SubmitMulti();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitMulti.setDataCoding(config.getDataCoding());
        }

        byte destAddrTon;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            destAddrTon = in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class);
        } else {
            destAddrTon = config.getDestAddrTon();
        }

        byte destAddrNpi;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            destAddrNpi = in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class);
        } else {
            destAddrNpi = config.getDestAddrNpi();
        }

        List<String> destAddresses;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            destAddresses = in.getHeader(SmppConstants.DEST_ADDR, List.class);
        } else {
            destAddresses = Arrays.asList(config.getDestAddr());
        }

        Address[] addresses = new Address[destAddresses.size()];
        int addrNum = 0;
        for (String destAddr : destAddresses) {
            Address addr = new Address(destAddrTon, destAddrNpi, destAddr);
            addresses[addrNum++] = addr;
        }
        submitMulti.setDestAddresses(addresses);

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitMulti.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitMulti.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitMulti.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitMulti.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitMulti.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitMulti.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitMulti.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitMulti.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitMulti.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitMulti.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitMulti.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitMulti.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitMulti.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitMulti.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitMulti.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitMulti.setReplaceIfPresentFlag(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitMulti.setReplaceIfPresentFlag(config.getReplaceIfPresentFlag());
        }

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitMulti.setOptionalParameters(new OptionalParameter[] {});
            }
        }

        return submitMulti;
    }
ID: 2609_2242
ClassID: 2609
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        ObjectHelper.notNull(clazz, "Class must not be null");
        ObjectHelper.notNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #626 Negative (Non-Clone)
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #627 Negative (Non-Clone)
ID: 1914_1577
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
Pair #628 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #629 Negative (Non-Clone)
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #630 Negative (Non-Clone)
ID: 1311_1198
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doListResourceQuotasByLabels(Exchange exchange)
    protected void doListResourceQuotasByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ResourceQuotas by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ResourceQuotas by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().withLabels(labels).list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #631 Negative (Non-Clone)
ID: 172_130
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeOperation(OperationName operationName)
    private static boolean isCompositeOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE:
            case COMPOSITE_BATCH:
            case COMPOSITE_TREE:
                return true;
            default:
                return false;
        }
    }
ID: 2107_1703
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStreamCallback(Exchange exchange)
    protected DataStreamCallback resolveDataStreamCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER) != null) {
            return (DataStreamCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER);
        } else if (getEndpoint().getDataStreamCallback() != null) {
            return getEndpoint().getDataStreamCallback();
        } else {
            throw new IllegalArgumentException("Cannot resolve DataStream callback.");
        }
    }
Pair #632 Negative (Non-Clone)
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
Pair #633 Negative (Non-Clone)
ID: 2047_1663
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentRename(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentRename(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRenameRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentRenameRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
Pair #634 Negative (Non-Clone)
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #635 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 1311_1199
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doListJobByLabel(Exchange exchange)
    protected void doListJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get Job by labels require specify a labels set");
            throw new IllegalArgumentException("Get Job by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().withLabels(labels).list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #636 Negative (Non-Clone)
ID: 2493_2044
ClassID: 2493
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.getProjectClassLoader()
    protected final ClassLoader getProjectClassLoader() {
        if (projectClassLoader == null) {
            try {
                projectClassLoader = DynamicClassLoader.createDynamicClassLoader(project.getCompileClasspathElements());
            } catch (DependencyResolutionRequiredException e) {
                throw new RuntimeException("Unable to create project classloader", e);
            }
        }
        return projectClassLoader;
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #637 Negative (Non-Clone)
ID: 2467_1984
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-dump");
        root.put("filter", "*");
        root.put("format", format);
        root.put("uriAsParameters", uriAsParameters);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #638 Negative (Non-Clone)
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
ID: 3310_2724
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getMainJsonSchema()
    public String getMainJsonSchema() {
        String path = "META-INF/camel-main-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #639 Negative (Non-Clone)
ID: 1853_1507
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PrivateKey importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPrivateKey(keyData);
        } else {
            derBytes = keyData;
        }

        PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePrivate(spec);
    }
ID: 3270_2639
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
Pair #640 Negative (Non-Clone)
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
ID: 2188_1723
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.assignFloatingIPToDroplet(Exchange exchange)
    private void assignFloatingIPToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        String ipAddress = exchange.getIn().getHeader(DigitalOceanHeaders.FLOATING_IP_ADDRESS, String.class);

        if (ObjectHelper.isEmpty(ipAddress)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.FLOATING_IP_ADDRESS + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().assignFloatingIP(dropletId, ipAddress);
        LOG.trace("Assign Floating IP to Droplet {}", action);
        exchange.getMessage().setBody(action);
    }
Pair #641 Negative (Non-Clone)
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #642 Negative (Non-Clone)
ID: 1751_1454
ClassID: 1751
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (folder == null) {
             
            return;
        }
        if (!scheduler) {
             
            return;
        }

        File dir = new File(folder);
        if (dir.exists() && dir.isDirectory()) {
            String msg = startupMessage(dir);
            if (msg != null) {
                LOG.info(msg);
            }

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.debug(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                 
                if (isRecursive) {
                    this.folderKeys = new HashMap<>();
                    registerRecursive(watcher, path, modifier);
                } else {
                    registerPathToWatcher(modifier, path, watcher);
                }

                task = new WatchFileChangesTask(watcher, path);

                executorService = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this,
                        "FileWatcherReloadStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
Pair #643 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2211_1736
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.throwError(JobRequest message)
    public JobResponse throwError(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.ThrowErrorRequest.Builder builder = GatewayOuterClass.ThrowErrorRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setErrorMessage(message.getErrorMessage());
            builder = builder.setErrorCode(message.getErrorCode());
            GatewayOuterClass.ThrowErrorRequest request = builder.build();
            GatewayOuterClass.ThrowErrorResponse failJobResponse = stub.throwError(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #644 Negative (Non-Clone)
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #645 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 309_379
ClassID: 309
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/AbstractHttpSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.AbstractHttpSegmentDecorator.getHttpUrl(Exchange exchange, Endpoint endpoint)
    protected String getHttpUrl(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #646 Negative (Non-Clone)
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
ID: 879_730
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
Pair #647 Negative (Non-Clone)
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 1311_1189
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doListHPAByLabel(Exchange exchange)
    protected void doListHPAByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get HPA by labels require specify a labels set");
            throw new IllegalArgumentException("Get HPA by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace()
                    .withLabels(labels).list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
Pair #648 Negative (Non-Clone)
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 2533_2109
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/SagaDownloader.java
Name: org.apache.camel.main.download.SagaDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {

        ProcessorReifier.registerReifier(SagaDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof SagaDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-saga",
                                    route.getCamelContext().getVersion());
                            downloader.downloadDependency("org.apache.camel", "camel-lra",
                                    route.getCamelContext().getVersion());
                        }
                    }
                    main.bind("inMemorySagaService", new InMemorySagaService());
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #649 Negative (Non-Clone)
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
ID: 220_252
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/transform/Ddb2StreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.ddbstream.transform.Ddb2StreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.ddbstream.getRecords");

        if (message.getHeaders().containsKey(Ddb2StreamConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.ddbstream." + message.getHeader(Ddb2StreamConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Ddb2StreamConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #650 Negative (Non-Clone)
ID: 1187_1012
ClassID: 1187
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doHasNext()
    protected boolean doHasNext() {
        try {
            if (zipInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = currentEntry != null;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    zipInputStream.close();
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #651 Negative (Non-Clone)
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
Pair #652 Negative (Non-Clone)
ID: 1861_1528
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 2231_1752
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateTag(String operation)
    protected void doCreateTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tag().setName(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #653 Negative (Non-Clone)
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #654 Negative (Non-Clone)
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
Pair #655 Negative (Non-Clone)
ID: 1550_1373
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslyDelete(ProductionContext ctx)
    private OperationResult synchronouslyDelete(ProductionContext ctx) throws Exception {
        DeleteOperation setData = new DeleteOperation(ctx.connection, ctx.node);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
ID: 201_230
ClassID: 201
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqExpression.java
Name: org.apache.camel.language.jq.JqExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
Pair #656 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 453_484
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.getFileInfo(String fileId, String... fields)
    public BoxFile.Info getFileInfo(String fileId, String... fields) {
        try {
            LOG.debug("Getting info for file(id={})", fileId);
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);

            BoxFile file = new BoxFile(boxConnection, fileId);

            if (fields == null || fields.length == 0) {
                return file.getInfo();
            } else {
                return file.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #657 Negative (Non-Clone)
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
ID: 3333_2731
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsBiConsumer(ThrowingBiConsumer<I1, I2, T> consumer)
    public static <I1, I2, T extends Throwable> BiConsumer<I1, I2> wrapAsBiConsumer(ThrowingBiConsumer<I1, I2, T> consumer) {
        return new BiConsumer<>() {
            @Override
            public void accept(I1 i1, I2 i2) {
                try {
                    consumer.accept(i1, i2);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #658 Negative (Non-Clone)
ID: 1251_1087
ClassID: 1251
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        JtaTransactionErrorHandler answer;
         
         
         
         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        JtaTransactionErrorHandlerDefinition txBuilder;
        if (builder != null && builder.supportTransacted()) {
            if (!(builder instanceof JtaTransactionErrorHandlerDefinition)) {
                throw new RuntimeCamelException(
                        "The given transactional error handler builder '" + builder
                                                + "' is not of type '" + JtaTransactionErrorHandlerDefinition.class.getName()
                                                + "' which is required in this environment!");
            }
            LOG.debug("The ErrorHandlerBuilder configured is a JtaTransactionErrorHandlerDefinition: {}", builder);
            txBuilder = (JtaTransactionErrorHandlerDefinition) builder.cloneBuilder();
        } else {
            LOG.debug(
                    "No or no transactional ErrorHandlerBuilder configured, will use default JtaTransactionErrorHandlerDefinition settings");
            txBuilder = new JtaTransactionErrorHandlerDefinition();
        }

        txBuilder.setTransactedPolicy(this);

         
        if (builder != null) {
            route.addErrorHandlerFactoryReference(builder, txBuilder);
        }

        answer = createTransactionErrorHandler(route, processor, txBuilder);

         
        route.setErrorHandlerFactory(txBuilder);

         
        return answer;
    }
ID: 3160_2404
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
        if (counter1.isStatisticsEnabled()) {
            counter1.completedExchange(exchange, time);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.completedExchange(exchange, time);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.completedExchange(exchange, time);
        }
    }
Pair #659 Negative (Non-Clone)
ID: 3333_2732
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsFunction(ThrowingFunction<I, R, T> function)
    public static <I, R, T extends Throwable> Function<I, R> wrapAsFunction(ThrowingFunction<I, R, T> function) {
        return new Function<>() {
            @Override
            public R apply(I in) {
                try {
                    return function.apply(in);

                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #660 Negative (Non-Clone)
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #661 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
Pair #662 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #663 Negative (Non-Clone)
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #664 Negative (Non-Clone)
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
Pair #665 Negative (Non-Clone)
ID: 2613_2259
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JaxbDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("objectFactory", definition.getObjectFactory());
        properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement());
        properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement());
        properties.put("filterNonXmlChars", definition.getFilterNonXmlChars());
        properties.put("fragment", definition.getFragment());
        properties.put("contextPath", definition.getContextPath());
        properties.put("contextPathIsClassName", definition.getContextPathIsClassName());
        properties.put("partClass", definition.getPartClass());
        properties.put("partNamespace", definition.getPartNamespace());
        properties.put("encoding", definition.getEncoding());
        properties.put("namespacePrefix", asRef(definition.getNamespacePrefix()));
        properties.put("schema", definition.getSchema());
        properties.put("schemaSeverityLevel", definition.getSchemaSeverityLevel());
        properties.put("xmlStreamWriterWrapper", definition.getXmlStreamWriterWrapper());
        properties.put("schemaLocation", definition.getSchemaLocation());
        properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation());
        properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties());
        properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols());
    }
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #666 Negative (Non-Clone)
ID: 1008_870
ClassID: 1008
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ClientEntitySet) {
            index((ClientEntitySet) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else {
            indexDefault(result);
        }
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #667 Negative (Non-Clone)
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #668 Negative (Non-Clone)
ID: 3249_2592
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCommonServices()
    private void setupCommonServices() throws Exception {
        BacklogTracer backlogTracer = getBeanForType(BacklogTracer.class);
        if (backlogTracer != null) {
            LOG.info("Using custom BacklogTracer: {}", backlogTracer);
            getContext().addService(backlogTracer);
        }
        InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
        if (inflightRepository != null) {
            LOG.info("Using custom InflightRepository: {}", inflightRepository);
            getContext().setInflightRepository(inflightRepository);
        }
        AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
        if (asyncProcessorAwaitManager != null) {
            LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
            getContext().getCamelContextExtension().addContextPlugin(AsyncProcessorAwaitManager.class,
                    asyncProcessorAwaitManager);
        }
        ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
        if (managementStrategy != null) {
            LOG.info("Using custom ManagementStrategy: {}", managementStrategy);
            getContext().setManagementStrategy(managementStrategy);
        }
        ManagementObjectNameStrategy managementObjectNameStrategy = getBeanForType(ManagementObjectNameStrategy.class);
        if (managementObjectNameStrategy != null) {
            LOG.info("Using custom ManagementObjectNameStrategy: {}", managementObjectNameStrategy);
            getContext().getManagementStrategy().setManagementObjectNameStrategy(managementObjectNameStrategy);
        }
        EventFactory eventFactory = getBeanForType(EventFactory.class);
        if (eventFactory != null) {
            LOG.info("Using custom EventFactory: {}", eventFactory);
            getContext().getManagementStrategy().setEventFactory(eventFactory);
        }
        UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
        if (unitOfWorkFactory != null) {
            LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
            getContext().getCamelContextExtension().addContextPlugin(UnitOfWorkFactory.class, unitOfWorkFactory);
        }
        RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
        if (runtimeEndpointRegistry != null) {
            LOG.info("Using custom RuntimeEndpointRegistry: {}", runtimeEndpointRegistry);
            getContext().setRuntimeEndpointRegistry(runtimeEndpointRegistry);
        }
        EndpointServiceRegistry endpointServiceRegistry = getBeanForType(EndpointServiceRegistry.class);
        if (endpointServiceRegistry != null) {
            LOG.info("Using custom EndpointServiceRegistry: {}", endpointServiceRegistry);
            getContext().getCamelContextExtension().addContextPlugin(EndpointServiceRegistry.class, endpointServiceRegistry);
        }
        HeadersMapFactory headersMapFactory = getBeanForType(HeadersMapFactory.class);
        if (headersMapFactory != null) {
            LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
            getContext().getCamelContextExtension().setHeadersMapFactory(headersMapFactory);
        }
    }
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
Pair #669 Negative (Non-Clone)
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 2461_1964
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);

        Map<Long, Pid> pids = new LinkedHashMap<>();

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailReceiveFiles(pids, tail);
                dumpReceiveFiles(pids, tail, limit);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            boolean init = true;
            StopWatch watch = new StopWatch();
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        if (!"json".equals(output)) {
                            printer().println("Waiting for messages ...");
                        }
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readReceiveFiles(pids);
                    if (lines > 0) {
                        more = dumpReceiveFiles(pids, 0, null);
                        init = false;
                    } else if (lines == 0) {
                        if (init) {
                            if (!"json".equals(output)) {
                                printer().println("Waiting for messages ...");
                            }
                            init = false;
                        }
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #670 Negative (Non-Clone)
ID: 1994_1638
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = consumer.createExchange(false);
        exchange.setPattern(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
ID: 1411_1264
ClassID: 1411
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
Name: org.apache.camel.component.cometd.CometdComponent.doStop()
    protected void doStop() throws Exception {
        connectorsLock.lock();
        try {
            for (ConnectorRef connectorRef : connectors.values()) {
                connectorRef.connector.stop();
            }
            connectors.clear();
        } finally {
            connectorsLock.unlock();
        }

        super.doStop();
    }
Pair #671 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #672 Negative (Non-Clone)
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
ID: 899_769
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request
                = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #673 Negative (Non-Clone)
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
Pair #674 Negative (Non-Clone)
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
Pair #675 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #676 Negative (Non-Clone)
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
ID: 174_144
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatchQuery(String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatchQuery(
            String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        final byte[] queryBytes;
        try {
            queryBytes = soqlQuery.getBytes(StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Unexpected exception: " + e.getMessage(), e));
            return;
        }
        post.body(new BytesRequestContent(queryBytes));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(jobContentType) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #677 Negative (Non-Clone)
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 189_204
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCloseJob(final Exchange exchange, final AsyncCallback callback)
    private void processCloseJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.closeJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #678 Negative (Non-Clone)
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #679 Negative (Non-Clone)
ID: 3254_2606
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.complete(Exchange exchange)
    public CompletableFuture<Void> complete(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPLETING);

        if (doAction) {
            doComplete(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPLETING && status != Status.COMPLETED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot complete: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #680 Negative (Non-Clone)
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
Pair #681 Negative (Non-Clone)
ID: 2556_2125
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByRouteId(String directory, String routeId)
    public static List<CoverageData> parseDumpRouteCoverageByRouteId(String directory, String routeId) throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (routeId == null) {
            return answer;
        }
        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    if (routeId.equals(id)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        parseRouteData(catalog, route, answer, counter, routeId);
                    }
                }
            }
        }

        return answer;
    }
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
Pair #682 Negative (Non-Clone)
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #683 Negative (Non-Clone)
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #684 Negative (Non-Clone)
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
ID: 104_90
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientScope(Keycloak keycloakClient, Exchange exchange)
    private void createClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                Response response = keycloakClient.realm(realmName).clientScopes().create((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientScopeRepresentation clientScope = new ClientScopeRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME))) {
                String scopeName = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME, String.class);
                clientScope.setName(scopeName);
            } else {
                throw new IllegalArgumentException("Client scope name must be specified");
            }
            Response response = keycloakClient.realm(realmName).clientScopes().create(clientScope);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #685 Negative (Non-Clone)
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
ID: 2440_1916
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugSpringBoot(KameletMain main)
    private int doRunDebugSpringBoot(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-debug-starter");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-cli-connector-starter");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId("org.springframework.boot");
            pi.setArtifactId("spring-boot-maven-plugin");
            pi.setVersion("${spring-boot-version}");
            PluginExecution pe = new PluginExecution();
            pe.addGoal("repackage");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Spring Boot for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "spring-boot:repackage");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        loggingColor ? "-Dspring.output.ansi.enabled=ALWAYS" : "-Dspring.output.ansi.enabled=NEVER",
                        "-jar", "target/camel-jbang-debug.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Spring Boot integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Spring Boot for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #686 Negative (Non-Clone)
ID: 1876_1551
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getFilters()
    public Map<String, String> getFilters() {
        Map<String, String> answer = new HashMap<>();
        if (this.filters != null) {
            answer.putAll(this.filters);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_FILTER_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_FILTER_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 2186_1717
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.compensate(URL lra, Exchange exchange)
    public CompletableFuture<Void> compensate(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CANCEL), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot compensate LRA");
            }

            return null;
        });
    }
Pair #687 Negative (Non-Clone)
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #688 Negative (Non-Clone)
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #689 Negative (Non-Clone)
ID: 3333_2731
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsBiConsumer(ThrowingBiConsumer<I1, I2, T> consumer)
    public static <I1, I2, T extends Throwable> BiConsumer<I1, I2> wrapAsBiConsumer(ThrowingBiConsumer<I1, I2, T> consumer) {
        return new BiConsumer<>() {
            @Override
            public void accept(I1 i1, I2 i2) {
                try {
                    consumer.accept(i1, i2);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #690 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #691 Negative (Non-Clone)
ID: 658_594
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/VolumeProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.VolumeProducer.messageToVolume(Message message)
    private Volume messageToVolume(Message message) {
        Volume volume = message.getBody(Volume.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeBuilder builder = Builders.volume();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name ");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.SIZE)) {
                builder.size(message.getHeader(CinderConstants.SIZE, Integer.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_TYPE)) {
                builder.volumeType(message.getHeader(CinderConstants.VOLUME_TYPE, String.class));
            }

            if (headers.containsKey(CinderConstants.IMAGE_REF)) {
                builder.imageRef(message.getHeader(CinderConstants.IMAGE_REF, String.class));
            }

            if (headers.containsKey(CinderConstants.SNAPSHOT_ID)) {
                builder.snapshot(message.getHeader(CinderConstants.SNAPSHOT_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.IS_BOOTABLE)) {
                builder.bootable(message.getHeader(CinderConstants.IS_BOOTABLE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #692 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 9_0
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, LoadingCache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "LoadingCache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
Pair #693 Negative (Non-Clone)
ID: 1137_972
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestFilesProducer.java
Name: org.apache.camel.component.github.producer.PullRequestFilesProducer.PullRequestFilesProducer(GitHubEndpoint endpoint)
    public PullRequestFilesProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            LOG.debug("Using PullRequestService found in registry {}", service.getClass().getCanonicalName());
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #694 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 2451_1943
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDataFormatNames()) {
            DataFormatModel model = catalog.dataFormatModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #695 Negative (Non-Clone)
ID: 1541_1361
ClassID: 1541
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters, String consumes,
            String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {
         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String scheme = "vertx-http:";
        String url = scheme + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, scheme);
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals(scheme)) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        VertxHttpEndpoint endpoint = (VertxHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;
        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.getConfiguration().setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.getConfiguration().setHeaderFilterStrategy(new VertxHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #696 Negative (Non-Clone)
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #697 Negative (Non-Clone)
ID: 1122_953
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/models/OBSRegion.java
Name: org.apache.camel.component.huaweicloud.obs.models.OBSRegion.valueOf(String regionId)
    public static String valueOf(String regionId) {
        if (ObjectHelper.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            String endpoint = REGIONS.get(regionId.toLowerCase());
            if (ObjectHelper.isNotEmpty(endpoint)) {
                return endpoint;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #698 Negative (Non-Clone)
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
Pair #699 Negative (Non-Clone)
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
Pair #700 Negative (Non-Clone)
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 1308_1163
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.run()
        public void run() {
            FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> client
                        = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
Pair #701 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #702 Negative (Non-Clone)
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
Pair #703 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #704 Negative (Non-Clone)
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #705 Negative (Non-Clone)
ID: 2246_1769
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                cache.remove(InfinispanClusterService.LEADER_KEY, getClusterService().getId());

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }
        }
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
Pair #706 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
Pair #707 Negative (Non-Clone)
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
ID: 1547_1367
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetChildrenOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetChildrenOperation.getResult()
    public OperationResult<List<String>> getResult() {
        try {
            Stat statistics = new Stat();

            List<String> children = connection.getChildren(node, true, statistics);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received children from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received children from '%s' path ", node));
                }
            }
            return new OperationResult<>(children, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #708 Negative (Non-Clone)
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #709 Negative (Non-Clone)
ID: 836_718
ClassID: 836
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
Name: org.apache.camel.component.paho.PahoProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectOptions);
        }
    }
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #710 Negative (Non-Clone)
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
ID: 1319_1225
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("secret");
        if (pf instanceof SecretPropertiesFunction) {
            propertiesFunction = (SecretPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        secrets = camelContext.getVaultConfiguration().kubernetes().getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Kubernetes vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #711 Negative (Non-Clone)
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #712 Negative (Non-Clone)
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #713 Negative (Non-Clone)
ID: 899_767
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java
Name: org.apache.camel.component.google.mail.GoogleMailProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 658_594
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/VolumeProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.VolumeProducer.messageToVolume(Message message)
    private Volume messageToVolume(Message message) {
        Volume volume = message.getBody(Volume.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeBuilder builder = Builders.volume();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name ");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.SIZE)) {
                builder.size(message.getHeader(CinderConstants.SIZE, Integer.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_TYPE)) {
                builder.volumeType(message.getHeader(CinderConstants.VOLUME_TYPE, String.class));
            }

            if (headers.containsKey(CinderConstants.IMAGE_REF)) {
                builder.imageRef(message.getHeader(CinderConstants.IMAGE_REF, String.class));
            }

            if (headers.containsKey(CinderConstants.SNAPSHOT_ID)) {
                builder.snapshot(message.getHeader(CinderConstants.SNAPSHOT_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.IS_BOOTABLE)) {
                builder.bootable(message.getHeader(CinderConstants.IS_BOOTABLE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #714 Negative (Non-Clone)
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
Pair #715 Negative (Non-Clone)
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #716 Negative (Non-Clone)
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #717 Negative (Non-Clone)
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
ID: 1254_1096
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveLogger(DeadLetterChannelDefinition definition)
    private CamelLogger resolveLogger(DeadLetterChannelDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #718 Negative (Non-Clone)
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
Pair #719 Negative (Non-Clone)
ID: 757_678
ClassID: 757
File: systems/camel-java/components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java
Name: org.apache.camel.component.seda.QueueReference.addReference(SedaEndpoint endpoint)
    void addReference(SedaEndpoint endpoint) {
        lock.lock();
        try {
            if (!endpoints.contains(endpoint)) {
                endpoints.add(endpoint);
                 
                if (endpoint.isMultipleConsumers()) {
                    multipleConsumers = true;
                }
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #720 Negative (Non-Clone)
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #721 Negative (Non-Clone)
ID: 702_647
ClassID: 702
File: systems/camel-java/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
Name: org.apache.camel.component.splunkhec.SplunkHECEndpoint.provideSSLContext()
    SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #722 Negative (Non-Clone)
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #723 Negative (Non-Clone)
ID: 23_31
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 714_651
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/SetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                 
                LOG.debug("OpenTelemetry: Cannot find managed span for Exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #724 Negative (Non-Clone)
ID: 1431_1291
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationEDIEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationEDIEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationEntity applicationEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationEntity = parseEDIEntityBody(inBuffer, is, null, contentType, contentTransferEncoding, "");
            applicationEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #725 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #726 Negative (Non-Clone)
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
Pair #727 Negative (Non-Clone)
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
ID: 3247_2588
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupClusterService()
    private void setupClusterService() throws Exception {
        Map<String, CamelClusterService> clusterServices
                = getContext().getRegistry().findByTypeWithName(CamelClusterService.class);
        if (clusterServices != null && !clusterServices.isEmpty()) {
            for (Entry<String, CamelClusterService> entry : clusterServices.entrySet()) {
                CamelClusterService service = entry.getValue();
                LOG.info("Using CamelClusterService with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #728 Negative (Non-Clone)
ID: 305_368
ClassID: 305
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 2639_2280
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue)
    protected Processor createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                Message in = exchange.getIn();
                in.setHeader(header, headerValue);
                in.setBody(body);
            }
        };
    }
Pair #729 Negative (Non-Clone)
ID: 2448_1933
ClassID: 2448
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.RunHelper.walk(Path dir)
    public static Stream<Path> walk(Path dir) {
        try {
            if (Files.isDirectory(dir)) {
                return Files.walk(dir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #730 Negative (Non-Clone)
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
Pair #731 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 449_478
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethGetLogs(Message message)
    void ethGetLogs(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);
        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthLog> request = web3j.ethGetLogs(ethFilter);
        setRequestId(message, request);
        EthLog response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getLogs());
        }
    }
Pair #732 Negative (Non-Clone)
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #733 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #734 Negative (Non-Clone)
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #735 Negative (Non-Clone)
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #736 Negative (Non-Clone)
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #737 Negative (Non-Clone)
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 3170_2437
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageBody(Integer index)
    public String browseMessageBody(Integer index) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.extractBodyAsString(msg);
    }
Pair #738 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 3249_2593
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomServices()
    private void setupCustomServices() {
        ModelJAXBContextFactory modelJAXBContextFactory = getBeanForType(ModelJAXBContextFactory.class);
        if (modelJAXBContextFactory != null) {
            LOG.info("Using custom ModelJAXBContextFactory: {}", modelJAXBContextFactory);
            getContext().getCamelContextExtension().addContextPlugin(ModelJAXBContextFactory.class, modelJAXBContextFactory);
        }
        ClassResolver classResolver = getBeanForType(ClassResolver.class);
        if (classResolver != null) {
            LOG.info("Using custom ClassResolver: {}", classResolver);
            getContext().setClassResolver(classResolver);
        }
        FactoryFinderResolver factoryFinderResolver = getBeanForType(FactoryFinderResolver.class);
        if (factoryFinderResolver != null) {
            LOG.info("Using custom FactoryFinderResolver: {}", factoryFinderResolver);
            getContext().getCamelContextExtension().addContextPlugin(FactoryFinderResolver.class, factoryFinderResolver);
        }
        ExecutorServiceManager executorServiceStrategy = getBeanForType(ExecutorServiceManager.class);
        if (executorServiceStrategy != null) {
            LOG.info("Using custom ExecutorServiceStrategy: {}", executorServiceStrategy);
            getContext().setExecutorServiceManager(executorServiceStrategy);
        }
        ThreadPoolFactory threadPoolFactory = getBeanForType(ThreadPoolFactory.class);
        if (threadPoolFactory != null) {
            LOG.info("Using custom ThreadPoolFactory: {}", threadPoolFactory);
            getContext().getExecutorServiceManager().setThreadPoolFactory(threadPoolFactory);
        }
        ProcessorFactory processorFactory = getBeanForType(ProcessorFactory.class);
        if (processorFactory != null) {
            LOG.info("Using custom ProcessorFactory: {}", processorFactory);
            getContext().getCamelContextExtension().addContextPlugin(ProcessorFactory.class, processorFactory);
        }
        Debugger debugger = getBeanForType(Debugger.class);
        if (debugger != null) {
            LOG.info("Using custom Debugger: {}", debugger);
            getContext().setDebugger(debugger);
        }
        setupUuidGenerator();
        NodeIdFactory nodeIdFactory = getBeanForType(NodeIdFactory.class);
        if (nodeIdFactory != null) {
            LOG.info("Using custom NodeIdFactory: {}", nodeIdFactory);
            getContext().getCamelContextExtension().addContextPlugin(NodeIdFactory.class, nodeIdFactory);
        }
        StreamCachingStrategy streamCachingStrategy = getBeanForType(StreamCachingStrategy.class);
        if (streamCachingStrategy != null) {
            LOG.info("Using custom StreamCachingStrategy: {}", streamCachingStrategy);
            getContext().setStreamCachingStrategy(streamCachingStrategy);
        }
        MessageHistoryFactory messageHistoryFactory = getBeanForType(MessageHistoryFactory.class);
        if (messageHistoryFactory != null) {
            LOG.info("Using custom MessageHistoryFactory: {}", messageHistoryFactory);
            getContext().setMessageHistoryFactory(messageHistoryFactory);
        }
        ReactiveExecutor reactiveExecutor = getBeanForType(ReactiveExecutor.class);
        if (reactiveExecutor != null) {
             
            getContext().getCamelContextExtension().setReactiveExecutor(reactiveExecutor);
        }
    }
Pair #739 Negative (Non-Clone)
ID: 1275_1120
ClassID: 1275
File: systems/camel-java/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
Name: org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #740 Negative (Non-Clone)
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 2636_2269
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
Name: org.apache.camel.impl.engine.DefaultDevConsoleResolver.resolveDevConsole(String id)
    public DevConsole resolveDevConsole(String id) {
         
        DevConsole answer = camelContext.getRegistry().lookupByNameAndType(id + "-dev-console", DevConsole.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, DevConsole.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findDevConsole(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no DevConsole registered for id: " + id, e);
        }

        if (type != null) {
            if (DevConsole.class.isAssignableFrom(type)) {
                answer = (DevConsole) camelContext.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
            } else {
                throw new IllegalArgumentException(
                        "Resolving dev-console: " + id + " detected type conflict: Not a DevConsole implementation. Found: "
                                                   + type.getName());
            }
        }

        return answer;
    }
Pair #741 Negative (Non-Clone)
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
ID: 922_794
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #742 Negative (Non-Clone)
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #743 Negative (Non-Clone)
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #744 Negative (Non-Clone)
ID: 2636_2271
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheck(String id)
    public HealthCheck resolveHealthCheck(String id) {
         
        HealthCheck answer = camelContext.getRegistry().lookupByNameAndType(id + "-health-check", HealthCheck.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheck.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheck(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheck registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheck.class.isAssignableFrom(type)) {
                return (HealthCheck) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check: " + id + " detected type conflict: Not a HealthCheck implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #745 Negative (Non-Clone)
ID: 338_384
ClassID: 338
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #746 Negative (Non-Clone)
ID: 484_511
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
Pair #747 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #748 Negative (Non-Clone)
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #749 Negative (Non-Clone)
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
Pair #750 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 1130_966
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.listen(String requestUri, HttpRequestHandler handler)
    public void listen(String requestUri, HttpRequestHandler handler) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.registerHandler(requestUri, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #751 Negative (Non-Clone)
ID: 302_361
ClassID: 302
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AzureServiceBusSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount.toString());
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber.toString());
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #752 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #753 Negative (Non-Clone)
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #754 Negative (Non-Clone)
ID: 243_311
ClassID: 243
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
Pair #755 Negative (Non-Clone)
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
ID: 306_372
ClassID: 306
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/messaging/KafkaSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.messaging.KafkaSegmentDecorator.pre(Entity segment, Exchange exchange, Endpoint endpoint)
    public void pre(Entity segment, Exchange exchange, Endpoint endpoint) {
        super.pre(segment, exchange, endpoint);

        String partition = (String) exchange.getIn().getHeader(PARTITION);
        if (partition != null) {
            segment.putMetadata(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = (String) exchange.getIn().getHeader(PARTITION_KEY);
        if (partitionKey != null) {
            segment.putMetadata(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = (String) exchange.getIn().getHeader(KEY);
        if (key != null) {
            segment.putMetadata(KAFKA_KEY_TAG, key);
        }

        String offset = (String) exchange.getIn().getHeader(OFFSET);
        if (offset != null) {
            segment.putMetadata(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #756 Negative (Non-Clone)
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #757 Negative (Non-Clone)
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
Pair #758 Negative (Non-Clone)
ID: 1041_903
ClassID: 1041
File: systems/camel-java/components/camel-xslt-saxon/src/main/java/org/apache/camel/component/xslt/saxon/XsltSaxonEndpoint.java
Name: org.apache.camel.component.xslt.saxon.XsltSaxonEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (this.saxonReaderProperties != null) {
             
             
            source = createReaderForSource(source);
        }
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        setCacheCleared(false);
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #759 Negative (Non-Clone)
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #760 Negative (Non-Clone)
ID: 2642_2291
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultAsyncProcessor()
    private Processor defaultAsyncProcessor() {
        final Map<String, Object> headersCopy = ObjectHelper.isNotEmpty(this.headers) ? new HashMap<>(this.headers) : null;
        final Map<String, Object> propertiesCopy
                = ObjectHelper.isNotEmpty(this.exchangeProperties) ? new HashMap<>(this.exchangeProperties) : null;
        final Map<String, Object> variablesCopy
                = ObjectHelper.isNotEmpty(this.variables) ? new HashMap<>(this.variables) : null;
        final Object bodyCopy = this.body;
        return exchange -> {
            if (headersCopy != null) {
                exchange.getIn().getHeaders().putAll(headersCopy);
            }
            if (propertiesCopy != null) {
                exchange.getProperties().putAll(propertiesCopy);
            }
            if (bodyCopy != null) {
                exchange.getIn().setBody(bodyCopy);
            }
            if (variablesCopy != null) {
                variablesCopy.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #761 Negative (Non-Clone)
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #762 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
Pair #763 Negative (Non-Clone)
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #764 Negative (Non-Clone)
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
Pair #765 Negative (Non-Clone)
ID: 2211_1737
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.failJob(JobRequest message)
    public JobResponse failJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.FailJobRequest.Builder builder = GatewayOuterClass.FailJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            builder = builder.setErrorMessage(message.getFailMessage());
            GatewayOuterClass.FailJobRequest request = builder.build();
            GatewayOuterClass.FailJobResponse failJobResponse = stub.failJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #766 Negative (Non-Clone)
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
Pair #767 Negative (Non-Clone)
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #768 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #769 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
Pair #770 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
Pair #771 Negative (Non-Clone)
ID: 1859_1521
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
Pair #772 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
Pair #773 Negative (Non-Clone)
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
ID: 2532_2107
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key)
    public Optional<Object> newInstance(String key) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<Object> answer = super.newInstance(key);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            Object obj = ResolverHelper.resolveService(camelContext, finder, key, Object.class).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #774 Negative (Non-Clone)
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
ID: 1549_1370
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.register(ServiceDefinition definition)
    public void register(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            ServiceInstance<MetaData> instance = ServiceInstance.<MetaData> builder()
                    .address(computeServiceHost(definition))
                    .port(definition.getPort())
                    .name(definition.getName())
                    .id(definition.getId())
                    .payload(new MetaData(definition.getMetadata()))
                    .build();

            serviceDiscovery.registerService(instance);

             
            serviceList.add(definition.getId());
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
Pair #775 Negative (Non-Clone)
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 2325_1830
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
Pair #776 Negative (Non-Clone)
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #777 Negative (Non-Clone)
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1304_1138
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseSecretPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseSecretPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        Secret sec = getClient().secrets().withName(name).get();
        if (sec != null) {
             
            answer = sec.getStringData() != null ? sec.getStringData().get(key) : null;
            if (answer == null) {
                 
                answer = sec.getData() != null ? sec.getData().get(key) : null;
                if (answer != null) {
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
Pair #778 Negative (Non-Clone)
ID: 2362_1854
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof GetIngestionJobRequest) {
                GetIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.getIngestionJob((GetIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Get Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareGetIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            String ingestionJobId;
            GetIngestionJobRequest.Builder builder = GetIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getIngestionJobId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID))) {
                    ingestionJobId = exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID, String.class);
                } else {
                    throw new IllegalArgumentException("IngestionJobId must be specified");
                }
            } else {
                ingestionJobId = getConfiguration().getIngestionJobId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            builder.ingestionJobId(ingestionJobId);
            GetIngestionJobResponse output = bedrockAgentClient.getIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareGetIngestionJobResponse(output, message);
        }
    }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #779 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #780 Negative (Non-Clone)
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #781 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 1377_1240
ClassID: 1377
File: systems/camel-java/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/support/SplunkDataReader.java
Name: org.apache.camel.component.splunk.support.SplunkDataReader.nonBlockingSearch(SplunkResultProcessor callback)
    private List<SplunkEvent> nonBlockingSearch(SplunkResultProcessor callback) throws Exception {
        LOG.debug("non block search start");

        JobArgs queryArgs = new JobArgs();
        queryArgs.setExecutionMode(ExecutionMode.NORMAL);
        Calendar startTime = Calendar.getInstance();
        populateArgs(queryArgs, startTime, false);

        List<SplunkEvent> data = runQuery(queryArgs, false, callback);
        lastSuccessfulReadTime = startTime;
        return data;
    }
Pair #782 Negative (Non-Clone)
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #783 Negative (Non-Clone)
ID: 2515_2072
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.stripSourceLocationLineNumber(String location)
    public static String stripSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(0, pos);
        } else {
            return location;
        }
    }
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #784 Negative (Non-Clone)
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
Pair #785 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 1497_1338
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameNA(String size)
    public MediaSizeName selectMediaSizeNameNA(String size) {
        if (size.equalsIgnoreCase("na_letter")) {
            mediaSizeName = MediaSizeName.NA_LETTER;
        } else if (size.equalsIgnoreCase("na_legal")) {
            mediaSizeName = MediaSizeName.NA_LEGAL;
        } else if (size.equalsIgnoreCase("executive")) {
            mediaSizeName = MediaSizeName.EXECUTIVE;
        } else if (size.equalsIgnoreCase("ledger")) {
            mediaSizeName = MediaSizeName.LEDGER;
        } else if (size.equalsIgnoreCase("tabloid")) {
            mediaSizeName = MediaSizeName.TABLOID;
        } else if (size.equalsIgnoreCase("invoice")) {
            mediaSizeName = MediaSizeName.INVOICE;
        } else if (size.equalsIgnoreCase("folio")) {
            mediaSizeName = MediaSizeName.FOLIO;
        } else if (size.equalsIgnoreCase("quarto")) {
            mediaSizeName = MediaSizeName.QUARTO;
        } else if (size.equalsIgnoreCase("japanese_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_POSTCARD;
        } else if (size.equalsIgnoreCase("oufuko_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_DOUBLE_POSTCARD;
        } else if (size.equalsIgnoreCase("a")) {
            mediaSizeName = MediaSizeName.A;
        } else if (size.equalsIgnoreCase("b")) {
            mediaSizeName = MediaSizeName.B;
        } else if (size.equalsIgnoreCase("c")) {
            mediaSizeName = MediaSizeName.C;
        } else if (size.equalsIgnoreCase("d")) {
            mediaSizeName = MediaSizeName.D;
        } else if (size.equalsIgnoreCase("e")) {
            mediaSizeName = MediaSizeName.E;
        } else if (size.equalsIgnoreCase("iso_designated_long")) {
            mediaSizeName = MediaSizeName.ISO_DESIGNATED_LONG;
        } else if (size.equalsIgnoreCase("italian_envelope")) {
            mediaSizeName = MediaSizeName.ITALY_ENVELOPE;
        } else if (size.equalsIgnoreCase("monarch_envelope")) {
            mediaSizeName = MediaSizeName.MONARCH_ENVELOPE;
        } else if (size.equalsIgnoreCase("personal_envelope")) {
            mediaSizeName = MediaSizeName.PERSONAL_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_9_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_10_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_10_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_11_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_12_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_14_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_6x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_6X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_7x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_7X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x11_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x12_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x13_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X13_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x14_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x15_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X15_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_5x7")) {
            mediaSizeName = MediaSizeName.NA_5X7;
        } else if (size.equalsIgnoreCase("na_8x10")) {
            mediaSizeName = MediaSizeName.NA_8X10;
        } else {
            mediaSizeName = MediaSizeName.NA_LETTER;
        }

        return mediaSizeName;
    }
Pair #786 Negative (Non-Clone)
ID: 188_197
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportInstances(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportInstances(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportInstances(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceListResponseCallback() {
                    @Override
                    public void onResponse(
                            List<ReportInstance> reportInstances, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstances, headers, ex, callback);
                    }
                });
    }
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #787 Negative (Non-Clone)
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #788 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #789 Negative (Non-Clone)
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 2611_2249
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(PojoBeanModel model)
    public static JsonObject asJsonObject(PojoBeanModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("bean", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
Pair #790 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 685_623
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #791 Negative (Non-Clone)
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #792 Negative (Non-Clone)
ID: 1499_1350
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF8(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF8(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_8;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_8;
            }
        }

        return d;
    }
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #793 Negative (Non-Clone)
ID: 2647_2303
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName, boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
    public boolean setProperty(
            CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName,
            boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
            throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, typeConverter, target, name, value, refName, allowBuilderPattern,
                allowPrivateSetter, ignoreCase);
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #794 Negative (Non-Clone)
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #795 Negative (Non-Clone)
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
Pair #796 Negative (Non-Clone)
ID: 2463_1971
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.readTraceFiles(Map<Long, Pid> pids)
    private int readTraceFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getTraceFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 125_115
ClassID: 125
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.buildResilience4jConfiguration()
    Resilience4jConfigurationDefinition buildResilience4jConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(Resilience4jConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getResilience4jConfiguration(null),
                () -> lookupByNameAndType(ResilienceConstants.DEFAULT_RESILIENCE_CONFIGURATION_ID,
                        Resilience4jConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getResilience4jConfiguration(ref),
                    () -> mandatoryLookup(ref, Resilience4jConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getResilience4jConfiguration()), configurer);

         
        Resilience4jConfigurationDefinition config = new Resilience4jConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
Pair #797 Negative (Non-Clone)
ID: 2508_2059
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.fields(ClassInfo ci)
    protected Set<FieldInfo> fields(ClassInfo ci) {
        Set<FieldInfo> fields = new TreeSet<>(Comparator.comparing(FieldInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            fields.addAll(current.fields());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return fields;
    }
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #798 Negative (Non-Clone)
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #799 Negative (Non-Clone)
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #800 Negative (Non-Clone)
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #801 Negative (Non-Clone)
ID: 1449_1304
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.invalidRecord(InvalidRecordException ex)
    public void invalidRecord(InvalidRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "InvalidRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreInvalidRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #802 Negative (Non-Clone)
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #803 Negative (Non-Clone)
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #804 Negative (Non-Clone)
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #805 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 126_116
ClassID: 126
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
Pair #806 Negative (Non-Clone)
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #807 Negative (Non-Clone)
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #808 Negative (Non-Clone)
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
ID: 3219_2501
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/SysPropertiesFunction.java
Name: org.apache.camel.component.properties.SysPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = System.getProperty(key);
        return value != null ? value : defaultValue;
    }
Pair #809 Negative (Non-Clone)
ID: 3296_2704
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.stop()
    public void stop() {
        lock.lock();
        try {
            if (status == FAILED) {
                logger().trace("Service: {} failed and regarded as already stopped", this);
                return;
            }
            if (status == STOPPED || status == SHUTTING_DOWN || status == SHUTDOWN) {
                logger().trace("Service: {} already stopped", this);
                return;
            }
            if (status == STOPPING) {
                logger().trace("Service: {} already stopping", this);
                return;
            }
            status = STOPPING;
            logger().trace("Stopping service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doStop();
                status = STOPPED;
                logger().trace("Stopped: {} service", this);
            } catch (Exception e) {
                logger().trace("Error while stopping service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #810 Negative (Non-Clone)
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #811 Negative (Non-Clone)
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1547_1366
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/DeleteOperation.java
Name: org.apache.camel.component.zookeeper.operations.DeleteOperation.getResult()
    public OperationResult<Boolean> getResult() {
        try {
            connection.delete(node, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'", node));
                } else {
                    LOG.debug(format("Set data of node '%s'", node));
                }
            }
            return new OperationResult<>(true, null, true);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #812 Negative (Non-Clone)
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
Pair #813 Negative (Non-Clone)
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
Pair #814 Negative (Non-Clone)
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
ID: 15_15
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumerMode.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumerMode.getHazelcastOperation(String name)
    public static HazelcastQueueConsumerMode getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastQueueConsumerMode hazelcastQueueConsumerMode : VALUES) {
            if (hazelcastQueueConsumerMode.toString().equalsIgnoreCase(name)
                    || hazelcastQueueConsumerMode.name().equalsIgnoreCase(name)) {
                return hazelcastQueueConsumerMode;
            }
        }
        throw new IllegalArgumentException(String.format("Mode '%s' is not supported by this component.", name));
    }
Pair #815 Negative (Non-Clone)
ID: 2294_1806
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.deleteCluster(EcsClient ecsClient, Exchange exchange)
    private void deleteCluster(EcsClient ecsClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                ecsClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, ECS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return ecsClient.deleteCluster(DeleteClusterRequest.builder().cluster(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(ECS2Constants.CLUSTER_ARN, response.cluster().clusterArn());
                    }
                });
    }
ID: 2648_2305
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onComponentAdd(String name, Component component)
    public void onComponentAdd(String name, Component component) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<ComponentCustomizer.Policy> filters = registry.findByType(ComponentCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, component))) {
            registry.findByType(ComponentCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, component))
                    .forEach(customizer -> customizer.configure(name, component));
        }
    }
Pair #816 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 484_510
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #817 Negative (Non-Clone)
ID: 2538_2114
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadRuntimeProviderVersion(String groupId, String artifactId, String version)
    public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String gav = String.format("%s:%s:%s", groupId, artifactId, version);
            resolve(mavenDownloader, gav, version.contains("SNAPSHOT"));

            this.runtimeProviderVersion = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load runtime provider version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
Pair #818 Negative (Non-Clone)
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #819 Negative (Non-Clone)
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #820 Negative (Non-Clone)
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
Pair #821 Negative (Non-Clone)
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
ID: 1973_1606
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.get(Exchange exchange)
    private void get(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, String> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        Collection.GetResult result = collection.get(ids, where, whereDocument);

        in.setBody(result);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #822 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 2597_2204
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getInteger(final int index)
    public Integer getInteger(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #823 Negative (Non-Clone)
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
ID: 576_547
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.listObjects(MinioClient minioClient, Exchange exchange)
    private void listObjects(MinioClient minioClient, Exchange exchange) throws InvalidPayloadException {

        if (getConfiguration().isPojoRequest()) {
            ListObjectsArgs.Builder payload = exchange.getIn().getMandatoryBody(ListObjectsArgs.Builder.class);
            if (isNotEmpty(payload)) {
                Iterable<Result<Item>> objectList = minioClient.listObjects(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(objectList);
            }
        } else {
            final String bucketName = determineBucketName(exchange);

            Iterable<Result<Item>> objectList = minioClient.listObjects(ListObjectsArgs.builder()
                    .bucket(bucketName)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(objectList);
        }
    }
Pair #824 Negative (Non-Clone)
ID: 498_525
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsClientFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsClientFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name) || "headers".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "providers".equals(name)
                || "schemaLocations".equals(name) || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
ID: 380_420
ClassID: 380
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.parseTopicName(String uri)
    private String parseTopicName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");

        uri = StringHelper.before(uri, "?", uri);
         

        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #825 Negative (Non-Clone)
ID: 1871_1541
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #826 Negative (Non-Clone)
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #827 Negative (Non-Clone)
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
Pair #828 Negative (Non-Clone)
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #829 Negative (Non-Clone)
ID: 497_523
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
Pair #830 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #831 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #832 Negative (Non-Clone)
ID: 243_311
ClassID: 243
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
Pair #833 Negative (Non-Clone)
ID: 2479_2026
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 254_325
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.poll()
    protected int poll() throws Exception {
        final String fileSystemName = getEndpoint().getConfiguration().getFileSystemName();
        final String fileName = getEndpoint().getConfiguration().getFileName();
        final DataLakeFileSystemClient dataLakeFileSystemClient
                = getEndpoint().getDataLakeServiceClient().getFileSystemClient(fileSystemName);
        int result;

        try {
            Queue<Exchange> exchanges;
            if (ObjectHelper.isNotEmpty(fileName)) {
                final Exchange exchange = createExchangeFromFile(fileName, dataLakeFileSystemClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                exchanges = createBatchExchangesFromPath(dataLakeFileSystemClient);
            }
            result = processBatch(CastUtils.cast(exchanges));
        } catch (DataLakeStorageException e) {
            if (NOT_FOUND == e.getStatusCode()) {
                result = 0;
            } else {
                throw e;
            }
        }
        return result;
    }
Pair #834 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #835 Negative (Non-Clone)
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #836 Negative (Non-Clone)
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
ID: 1541_1361
ClassID: 1541
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters, String consumes,
            String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {
         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String scheme = "vertx-http:";
        String url = scheme + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, scheme);
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals(scheme)) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        VertxHttpEndpoint endpoint = (VertxHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;
        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.getConfiguration().setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.getConfiguration().setHeaderFilterStrategy(new VertxHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #837 Negative (Non-Clone)
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #838 Negative (Non-Clone)
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #839 Negative (Non-Clone)
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 2479_2026
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #840 Negative (Non-Clone)
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #841 Negative (Non-Clone)
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
Pair #842 Negative (Non-Clone)
ID: 442_464
ClassID: 442
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.DefaultServerInitializerFactory(NettyConsumer consumer)
    public DefaultServerInitializerFactory(NettyConsumer consumer) {
        this.consumer = consumer;
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #843 Negative (Non-Clone)
ID: 3229_2527
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.uppercaseExpression(final String expression)
    public static Expression uppercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toUpperCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "uppercase(" + expression + ")";
                } else {
                    return "uppercase()";
                }
            }
        };
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #844 Negative (Non-Clone)
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
Pair #845 Negative (Non-Clone)
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #846 Negative (Non-Clone)
ID: 765_685
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-cos/src/main/java/org/apache/camel/component/ibm/cos/IBMCOSProducer.java
Name: org.apache.camel.component.ibm.cos.IBMCOSProducer.determineKey(Exchange exchange)
    private String determineKey(Exchange exchange) {
        String key = exchange.getIn().getHeader(IBMCOSConstants.KEY, String.class);
        if (key == null) {
            key = getConfiguration().getKeyName();
        }
        if (key == null) {
            throw new IllegalArgumentException("Key must be specified");
        }
        return key;
    }
ID: 3272_2646
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
    public static URL resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
            throws FileNotFoundException, MalformedURLException {
        URL url = resolveResourceAsUrl(camelContext, uri);
        if (url == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " in classpath for URI: " + uri);
        } else {
            return url;
        }
    }
Pair #847 Negative (Non-Clone)
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2660_2338
ClassID: 2660
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
Name: org.apache.camel.component.properties.DefaultPropertiesFunctionResolver.resolve(CamelContext context, String name)
    private PropertiesFunction resolve(CamelContext context, String name) {
         
        Class<?> type = null;
        try {
            type = findFactory(name, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PropertiesFunction: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), name);
            }
            if (PropertiesFunction.class.isAssignableFrom(type)) {
                PropertiesFunction answer = (PropertiesFunction) context.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
                ServiceHelper.startService(answer);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PropertiesFunction implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #848 Negative (Non-Clone)
ID: 1975_1610
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.predict(Exchange exchange, QAInput input)
    protected String predict(Exchange exchange, QAInput input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<QAInput, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<QAInput, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #849 Negative (Non-Clone)
ID: 339_387
ClassID: 339
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(KafkaConstants.OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String topicName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(KafkaConstants.OVERRIDE_TOPIC, topicName);
            }
        };
    }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #850 Negative (Non-Clone)
ID: 412_445
ClassID: 412
File: systems/camel-java/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
Name: org.apache.camel.component.rest.RestProducer.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #851 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
Pair #852 Negative (Non-Clone)
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 714_652
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
Name: org.apache.camel.observation.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #853 Negative (Non-Clone)
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 829_709
ClassID: 829
File: systems/camel-java/components/camel-csimple-joor/src/main/java/org/apache/camel/language/csimple/joor/JoorCSimpleCompilationException.java
Name: org.apache.camel.language.csimple.joor.JoorCSimpleCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
Pair #854 Negative (Non-Clone)
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #855 Negative (Non-Clone)
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #856 Negative (Non-Clone)
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
Pair #857 Negative (Non-Clone)
ID: 379_417
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.JmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #858 Negative (Non-Clone)
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
Pair #859 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 658_584
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.messageToRouter(Message message)
    private Router messageToRouter(Message message) {
        Router router = message.getBody(Router.class);

        if (router == null) {
            Map headers = message.getHeaders();
            RouterBuilder builder = Builders.router();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            router = builder.build();
        }
        return router;
    }
Pair #860 Negative (Non-Clone)
ID: 2107_1700
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStream(Exchange exchange)
    protected DataStream resolveDataStream(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER) != null) {
            return (DataStream) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER);
        } else if (getEndpoint().getDataStream() != null) {
            return getEndpoint().getDataStream();
        } else {
            throw new IllegalArgumentException("No DataStream defined");
        }
    }
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #861 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
Pair #862 Negative (Non-Clone)
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #863 Negative (Non-Clone)
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
ID: 2294_1805
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.getUser(IamClient iamClient, Exchange exchange)
    private void getUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                GetUserRequest.class,
                iamClient::getUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.getUser(GetUserRequest.builder().userName(userName).build());
                },
                "Get user",
                (GetUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
Pair #864 Negative (Non-Clone)
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
Pair #865 Negative (Non-Clone)
ID: 1087_928
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopServer()
    protected void stopServer() {
        if (this.server == null) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                         
                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);

                        server.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.info("Vert.x HttpServer stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.server = null;
        }
    }
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #866 Negative (Non-Clone)
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #867 Negative (Non-Clone)
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #868 Negative (Non-Clone)
ID: 556_534
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(MessageInfo msgInfo)
    protected void resetPartTypeClass(MessageInfo msgInfo) {
        if (msgInfo != null) {
            int size = msgInfo.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
ID: 257_336
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
Name: org.apache.camel.component.google.mail.stream.GoogleMailStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange, unreadLabelId);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange, unreadLabelId);
                }

                @Override
                public String toString() {
                    return "GoogleMailStreamConsumerOnCompletion";
                }
            });

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #869 Negative (Non-Clone)
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #870 Negative (Non-Clone)
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 217_238
ClassID: 217
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XProducer.java
Name: org.apache.camel.component.plc4x.Plc4XProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            process(exchange);
            Message out = exchange.getMessage();
            out.copyFrom(exchange.getIn());
        } catch (Exception e) {
            exchange.setMessage(null);
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #871 Negative (Non-Clone)
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
ID: 977_827
ClassID: 977
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders)
    public ByteBuffer marshallExchange(Exchange exchange, boolean allowSerializedHeaders)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return ByteBuffer.wrap(serialize(pe));
    }
Pair #872 Negative (Non-Clone)
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
ID: 3099_2373
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientRequestValidation(boolean clientRequestValidation)
    public RestDefinition clientRequestValidation(boolean clientRequestValidation) {
        if (getVerbs().isEmpty()) {
            this.clientRequestValidation = Boolean.toString(clientRequestValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientRequestValidation(Boolean.toString(clientRequestValidation));
        }

        return this;
    }
Pair #873 Negative (Non-Clone)
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #874 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 3278_2665
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotEqualTo(final Expression left, final Expression right)
    public static Predicate isNotEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "!=";
            }
        };
    }
Pair #875 Negative (Non-Clone)
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
ID: 1738_1449
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketClientConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketClientConsumer.processExchange(Exchange exchange)
    protected void processExchange(Exchange exchange) {
        Vertx vertx = getEndpoint().getVertx();
        vertx.executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
Pair #876 Negative (Non-Clone)
ID: 1036_891
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removePrefixPath(final String path)
    public PathHandler removePrefixPath(final String path) {
        lock.lock();
        try {
            super.removePrefixPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #877 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
Pair #878 Negative (Non-Clone)
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #879 Negative (Non-Clone)
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 1808_1489
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeLogContainerRequest(DockerClient client, Message message)
    private LogContainerCmd executeLogContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Log Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        LogContainerCmd logContainerCmd = client.logContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            logContainerCmd.withFollowStream(followStream);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            logContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            logContainerCmd.withStdOut(stdOut);
        }

        Integer tail = DockerHelper.getProperty(DockerConstants.DOCKER_TAIL, configuration, message, Integer.class);

        if (tail != null) {
            logContainerCmd.withTail(tail);
        }

        Boolean tailAll = DockerHelper.getProperty(DockerConstants.DOCKER_TAIL_ALL, configuration, message, Boolean.class);

        if (tailAll != null && tailAll) {
            logContainerCmd.withTailAll();
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            logContainerCmd.withTimestamps(timestamps);
        }

        return logContainerCmd;

    }
Pair #880 Negative (Non-Clone)
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
Pair #881 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #882 Negative (Non-Clone)
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #883 Negative (Non-Clone)
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
Pair #884 Negative (Non-Clone)
ID: 658_587
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.GroupProducer.messageToGroup(Message message)
    private Group messageToGroup(Message message) {
        Group group = message.getBody(Group.class);

        if (group == null) {
            Map headers = message.getHeaders();
            GroupBuilder builder = Builders.group();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            group = builder.build();
        }
        return group;
    }
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
Pair #885 Negative (Non-Clone)
ID: 2468_1987
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc != null ? loc : "";
    }
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
Pair #886 Negative (Non-Clone)
ID: 468_502
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpProducer.java
Name: org.apache.camel.component.snmp.SnmpProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
            this.pdu = null;
        }
    }
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #887 Negative (Non-Clone)
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
ID: 1203_1029
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doSetState(Exchange exchange, AsyncCallback callback)
    private void doSetState(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not publish empty message"));
            callback.done(true);
        }
        LOG.debug("Sending setState [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .setPresenceState()
                .channels(List.of(getChannel(exchange)))
                .state(body)
                .uuid(getUUID(exchange))
                .async((Result<PNSetStateResult> result) -> {
                    LOG.debug("Got setState response [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNSetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #888 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #889 Negative (Non-Clone)
ID: 924_798
ClassID: 924
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubComponent.getCredentialsProvider(GooglePubsubEndpoint endpoint)
    private CredentialsProvider getCredentialsProvider(GooglePubsubEndpoint endpoint) throws IOException {
        CredentialsProvider credentialsProvider;

        if (endpoint.isAuthenticate()) {
            credentialsProvider = FixedCredentialsProvider.create(ObjectHelper.isEmpty(endpoint.getServiceAccountKey())
                    ? GoogleCredentials.getApplicationDefault() : ServiceAccountCredentials.fromStream(ResourceHelper
                            .resolveMandatoryResourceAsInputStream(getCamelContext(), endpoint.getServiceAccountKey()))
                            .createScoped(PublisherStubSettings.getDefaultServiceScopes()));
        } else {
            credentialsProvider = NoCredentialsProvider.create();
        }

        return credentialsProvider;
    }
ID: 1005_865
ClassID: 1005
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.parseQueryParams(Map<String, Object> options)
    private void parseQueryParams(Map<String, Object> options) {
         
        final Map<String, String> queryParams = new HashMap<>();
        for (Iterator<Map.Entry<String, Object>> it = options.entrySet().iterator(); it.hasNext();) {

            final Map.Entry<String, Object> entry = it.next();
            final String paramName = entry.getKey();

             
            if (paramName.startsWith("consumer.")) {
                continue;
            }

            if (!olingo2endpointPropertyNames.contains(paramName)) {

                 
                final Object value = entry.getValue();
                if (value == null) {
                    throw new IllegalArgumentException("Null value for query parameter " + paramName);
                }
                queryParams.put(paramName, value.toString());

                 
                it.remove();
            }
        }
        if (!queryParams.isEmpty()) {

            @SuppressWarnings("unchecked")
            final Map<String, String> oldParams = (Map<String, String>) options.get(QUERY_PARAMS_PROPERTY);
            if (oldParams == null) {
                 
                options.put(QUERY_PARAMS_PROPERTY, queryParams);
            } else {
                 
                oldParams.putAll(queryParams);
            }

        }
    }
Pair #890 Negative (Non-Clone)
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
Pair #891 Negative (Non-Clone)
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 766_693
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.synthesize(Exchange exchange)
    private void synthesize(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String text = exchange.getIn().getHeader(WatsonTextToSpeechConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to synthesize must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String accept = exchange.getIn().getHeader(WatsonTextToSpeechConstants.ACCEPT,
                getEndpoint().getConfiguration().getAccept(), String.class);
        String customizationId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.CUSTOMIZATION_ID,
                getEndpoint().getConfiguration().getCustomizationId(), String.class);

        LOG.trace("Synthesizing text with TTS: voice={}, accept={}", voice, accept);

        SynthesizeOptions.Builder builder = new SynthesizeOptions.Builder()
                .text(text)
                .voice(voice)
                .accept(accept);

        if (customizationId != null && !customizationId.isBlank()) {
            builder.customizationId(customizationId);
        }

        SynthesizeOptions options = builder.build();

        InputStream audioStream = tts.synthesize(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(audioStream);
        message.setHeader(WatsonTextToSpeechConstants.VOICE, voice);
        message.setHeader(WatsonTextToSpeechConstants.ACCEPT, accept);
    }
Pair #892 Negative (Non-Clone)
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 2174_1706
ClassID: 2174
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.getNextElement()
    private T getNextElement() {
        if (asn1InputStream == null) {
            return null;
        }

        try {
            ASN1Primitive current = getNextEntry();

            if (current != null) {
                return ObjectHelper.cast(clazz, createGenericTypeObject(current));
            } else {
                LOGGER.trace("close asn1InputStream");
                return null;
            }
        } catch (Exception exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #893 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 2659_2333
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LoopProcessor.java
Name: org.apache.camel.processor.LoopProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            LoopState state = new LoopState(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(state);
            } else {
                reactiveExecutor.scheduleMain(state);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #894 Negative (Non-Clone)
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 2098_1695
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPClient client = ftpClient;

        if (client == null) {
             
             
            client = createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (getConfiguration().getActivePortRange() != null) {
             
            String[] parts = getConfiguration().getActivePortRange().split("-");
            if (parts.length != 2) {
                throw new IllegalArgumentException("The option activePortRange should have syntax: min-max");
            }
            int min = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[0]);
            int max = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[1]);
            LOG.debug("Using active port range: {}-{}", min, max);
            client.setActivePortRange(min, max);
        }

         
        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpOperations operations = new FtpOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #895 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #896 Negative (Non-Clone)
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 1429_1285
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryDelimiter = "--" + boundary;  
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
Pair #897 Negative (Non-Clone)
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
ID: 1001_856
ClassID: 1001
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo4Consumer consumer = new Olingo4Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
Pair #898 Negative (Non-Clone)
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #899 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 2041_1647
ClassID: 2041
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/cluster/FileLockClusterView.java
Name: org.apache.camel.component.file.cluster.FileLockClusterView.closeLockFiles()
    private void closeLockFiles() {
        if (leaderLockFile != null) {
            try {
                leaderLockFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderLockFile = null;
        }

        if (leaderDataFile != null) {
            try {
                leaderDataFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderDataFile = null;
        }
    }
Pair #900 Negative (Non-Clone)
ID: 3098_2368
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.bindingMode(String mode)
    public RestDefinition bindingMode(String mode) {
        if (getVerbs().isEmpty()) {
            this.bindingMode = mode.toLowerCase();
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setBindingMode(mode.toLowerCase());
        }

        return this;
    }
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #901 Negative (Non-Clone)
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 982_840
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ParameterSqlType()
  final public Token ParameterSqlType() throws ParseException {Token t;
    Token scaleToken;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case NUMBER:{
      t = jj_consume_token(NUMBER);
      break;
      }
    case IDENTIFIER:{
      t = jj_consume_token(IDENTIFIER);
      break;
      }
    default:
      jj_la1[10] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
{if ("" != null) return t;}
    throw new Error("Missing return statement in function");
}
Pair #902 Negative (Non-Clone)
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
ID: 187_184
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case GET_BATCH:
                    processGetBatch(exchange, callback);
                    break;
                case GET_ALL_BATCHES:
                    processGetAllBatches(exchange, callback);
                    break;
                case GET_REQUEST:
                    processGetRequest(exchange, callback);
                    break;
                case GET_RESULTS:
                    processGetResults(exchange, callback);
                    break;
                case CREATE_BATCH_QUERY:
                    processCreateBatchQuery(exchange, callback);
                    break;
                case GET_QUERY_RESULT_IDS:
                    processGetQueryResultIds(exchange, callback);
                    break;
                case GET_QUERY_RESULT:
                    processGetQueryResult(exchange, callback);
                    break;
                default:
                    throw new SalesforceException("Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(), e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(), e.getMessage()), e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
Pair #903 Negative (Non-Clone)
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
ID: 1162_995
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setException(Throwable exception)
    public void setException(Throwable exception) {
        Objects.requireNonNull(exception, "exception must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.exception = exception;
        flushCycle();
    }
Pair #904 Negative (Non-Clone)
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
Pair #905 Negative (Non-Clone)
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
Pair #906 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 2190_1726
ClassID: 2190
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.getVolume(Exchange exchange)
    private void getVolume(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        Volume volume = null;
        if (ObjectHelper.isEmpty(volumeId)) {
            String name = exchange.getIn().getHeader(DigitalOceanHeaders.NAME, String.class);
            String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

            if (ObjectHelper.isEmpty(name) && ObjectHelper.isEmpty(region)) {
                throw new IllegalArgumentException(
                        DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.NAME + " and " + DigitalOceanHeaders.REGION
                                                   + " must be specified");
            }

            List<Volume> volumes = getEndpoint().getDigitalOceanClient().getVolumeInfo(name, region).getVolumes();
            if (!volumes.isEmpty()) {
                 
                volume = volumes.get(0);
            }
        } else {
            volume = getEndpoint().getDigitalOceanClient().getVolumeInfo(volumeId);
        }

        LOG.trace("Volume [{}] ", volume);
        exchange.getMessage().setBody(volume);

    }
Pair #907 Negative (Non-Clone)
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
ID: 2564_2140
ClassID: 2564
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.apiMethodAlias(ApiModel api, ApiMethodModel method)
    private static String apiMethodAlias(ApiModel api, ApiMethodModel method) {
        String name = method.getName();
        for (String alias : api.getAliases()) {
            int pos = alias.indexOf('=');
            String pattern = alias.substring(0, pos);
            String aliasMethod = alias.substring(pos + 1);
             
            if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) {
                return aliasMethod;
            }
        }
        return null;
    }
Pair #908 Negative (Non-Clone)
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
ID: 1872_1542
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpProducerFactory()
    private KnativeProducerFactory setUpProducerFactory() throws Exception {
        if (producerFactory == null) {
            this.producerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeProducerFactory.class);
            if (this.producerFactory == null) {
                this.producerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-producer", KnativeProducerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeProducerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(producerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.producerFactory, true, true);
            }
            LOGGER.debug("Using Knative producer factory: {} for protocol: {}", producerFactory, protocol.name());
        }

        return producerFactory;
    }
Pair #909 Negative (Non-Clone)
ID: 1104_932
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (this.iamClient == null) {
            LOG.info("Initializing SDK client");
            this.iamClient = endpoint.initClient();
            LOG.info("IAM client initialized");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case IAMOperations.LIST_USERS:
                listUsers(exchange);
                break;
            case IAMOperations.GET_USER:
                getUser(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_USER:
                updateUser(exchange, clientConfigurations);
                break;
            case IAMOperations.LIST_GROUPS:
                listGroups(exchange);
                break;
            case IAMOperations.GET_GROUP_USERS:
                getGroupUsers(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_GROUP:
                updateGroup(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
Pair #910 Negative (Non-Clone)
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
ID: 1874_1547
ClassID: 1874
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeEnvironment.java
Name: org.apache.camel.component.knative.spi.KnativeEnvironment.withMeta(String key, Enum<?> e)
        public KnativeServiceBuilder withMeta(String key, Enum<?> e) {
            if (key == null || e == null) {
                return this;
            }
            if (this.metadata == null) {
                this.metadata = new HashMap<>();
            }
            this.metadata.put(key, e.name());
            return this;
        }
Pair #911 Negative (Non-Clone)
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
Pair #912 Negative (Non-Clone)
ID: 173_133
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createHandshakeListener()
    private MessageListener createHandshakeListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_HANDSHAKE]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Handshake failure: {}", message);
                handshakeError = (String) message.get(ERROR_FIELD);
                handshakeException = getFailure(message);
                if (handshakeError != null) {
                    if (handshakeError.startsWith("403::")) {
                        String failureReason = getFailureReason(message);
                        if (failureReason.equals(AUTHENTICATION_INVALID)) {
                            LOG.debug(
                                    "attempting login due to handshake error: 403 -> 401::Authentication invalid");
                            session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                        }
                    }
                }
                 
                LOG.debug("Handshake failed, so try again.");
                client.handshake();
            } else if (!channelToConsumers.isEmpty()) {
                channelsToSubscribe.clear();
                channelsToSubscribe.addAll(channelToConsumers.keySet());
                LOG.info("Handshake successful. Channels to subscribe: {}", channelsToSubscribe);
            }
        });
    }
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
Pair #913 Negative (Non-Clone)
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
ID: 112_106
ClassID: 112
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #914 Negative (Non-Clone)
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #915 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
Pair #916 Negative (Non-Clone)
ID: 188_197
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportInstances(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportInstances(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportInstances(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceListResponseCallback() {
                    @Override
                    public void onResponse(
                            List<ReportInstance> reportInstances, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstances, headers, ex, callback);
                    }
                });
    }
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #917 Negative (Non-Clone)
ID: 2654_2320
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludedHeader(String key)
    private boolean isExcludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("-header:")) {
                pattern = StringHelper.after(pattern, "-header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #918 Negative (Non-Clone)
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #919 Negative (Non-Clone)
ID: 2421_1902
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
ID: 3164_2422
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #920 Negative (Non-Clone)
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #921 Negative (Non-Clone)
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #922 Negative (Non-Clone)
ID: 1006_867
ClassID: 1006
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
Pair #923 Negative (Non-Clone)
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 1137_976
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestStateProducer.java
Name: org.apache.camel.component.github.producer.PullRequestStateProducer.PullRequestStateProducer(GitHubEndpoint endpoint)
    public PullRequestStateProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }
        initService(commitService);

        state = endpoint.getState();
        targetUrl = endpoint.getTargetUrl();
    }
Pair #924 Negative (Non-Clone)
ID: 1753_1457
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
Name: org.apache.camel.component.stream.StreamConsumer.validateUri(String uri)
    private void validateUri(String uri) throws IllegalArgumentException {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }

        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
ID: 1411_1264
ClassID: 1411
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
Name: org.apache.camel.component.cometd.CometdComponent.doStop()
    protected void doStop() throws Exception {
        connectorsLock.lock();
        try {
            for (ConnectorRef connectorRef : connectors.values()) {
                connectorRef.connector.stop();
            }
            connectors.clear();
        } finally {
            connectorsLock.unlock();
        }

        super.doStop();
    }
Pair #925 Negative (Non-Clone)
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #926 Negative (Non-Clone)
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #927 Negative (Non-Clone)
ID: 1457_1308
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprInvokeBindingHandler.java
Name: org.apache.camel.component.dapr.operations.DaprInvokeBindingHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String bindingName = configurationOptionsProxy.getBindingName(exchange);
        String bindingOperation = configurationOptionsProxy.getBindingOperation(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        InvokeBindingRequest bindingRequest = new InvokeBindingRequest(bindingName, bindingOperation);
        bindingRequest.setData(payload);
        bindingRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        final byte[] response = client.invokeBinding(bindingRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 2441_1919
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #928 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1449_1304
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.invalidRecord(InvalidRecordException ex)
    public void invalidRecord(InvalidRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "InvalidRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreInvalidRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
Pair #929 Negative (Non-Clone)
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #930 Negative (Non-Clone)
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #931 Negative (Non-Clone)
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
Pair #932 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 376_409
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, Destination replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            Destination replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
Pair #933 Negative (Non-Clone)
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
ID: 1217_1044
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        StateOperation stateOperation = configurationOptionsProxy.getStateOperation(exchange);
        DaprClient client = endpoint.getClient();

        switch (stateOperation) {
            case save:
                return saveState(exchange, client);
            case saveBulk:
                return saveBulkState(exchange, client);
            case get:
                return getState(exchange, client);
            case getBulk:
                return getBulkState(exchange, client);
            case delete:
                return deleteState(exchange, client);
            case executeTransaction:
                return executeStateTransaction(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported state operation");
        }
    }
Pair #934 Negative (Non-Clone)
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 2187_1718
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.getKey(Exchange exchange)
    private void getKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Key key;

        if (ObjectHelper.isNotEmpty(keyId)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }
        LOG.trace("Key [{}] ", key);
        exchange.getMessage().setBody(key);
    }
Pair #935 Negative (Non-Clone)
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
Pair #936 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 2563_2137
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getClassJavadocRaw(AbstractJavaSource clazz, String rawClass)
    private static String getClassJavadocRaw(AbstractJavaSource clazz, String rawClass) {
        Object obj = clazz.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
Pair #937 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 1690_1413
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            if (camelContext == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    camelContext = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts != null && contexts.size() == 1) {
                        camelContext = contexts.values().iterator().next();
                    }
                }
            }
            return camelContext;
        }
Pair #938 Negative (Non-Clone)
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2614_2261
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateMainModel(JsonObject obj)
    public static MainModel generateMainModel(JsonObject obj) {
        MainModel model = new MainModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            MainGroupModel group = new MainGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            MainOptionModel option = new MainOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
Pair #939 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 2296_1816
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkSyncClientBuilder<B, C>, C extends SdkClient> C buildClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        ApacheHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            URI proxyEndpoint = URI.create(
                    config.getProxyProtocol() + "://" + config.getProxyHost() + ":" + config.getProxyPort());
            ProxyConfiguration proxyConfig = ProxyConfiguration.builder()
                    .endpoint(proxyEndpoint)
                    .build();
            httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = ApacheHttpClient.builder();
            }
            SdkHttpClient httpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(httpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #940 Negative (Non-Clone)
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
Pair #941 Negative (Non-Clone)
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 275_347
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.scheduleMessages()
    private Consumer<Exchange> scheduleMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.scheduleMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);
                serviceBusSenderOperations.scheduleMessages(convertedBody,
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #942 Negative (Non-Clone)
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
Pair #943 Negative (Non-Clone)
ID: 27_47
ClassID: 27
File: systems/camel-java/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TwilioConverterLoader.java
Name: org.apache.camel.component.twilio.TwilioConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.twilio.type.Endpoint.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.twilio.TwilioConverter.toPhoneNumber((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.twilio.type.Sip.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.twilio.TwilioConverter.toSip((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2479_2027
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #944 Negative (Non-Clone)
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #945 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
Pair #946 Negative (Non-Clone)
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #947 Negative (Non-Clone)
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #948 Negative (Non-Clone)
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 3107_2391
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #949 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #950 Negative (Non-Clone)
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #951 Negative (Non-Clone)
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
ID: 380_422
ClassID: 380
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQSendDynamicAware.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQSendDynamicAware.parseExchangeName(String uri)
    private String parseExchangeName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #952 Negative (Non-Clone)
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
Pair #953 Negative (Non-Clone)
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #954 Negative (Non-Clone)
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
Pair #955 Negative (Non-Clone)
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
Pair #956 Negative (Non-Clone)
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 3288_2687
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public DataFormatCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, DataFormat> condition = condition();

            return new DataFormatCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #957 Negative (Non-Clone)
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #958 Negative (Non-Clone)
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #959 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #960 Negative (Non-Clone)
ID: 103_83
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourcePermissionRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().permissions()
                        .resource().create((ResourcePermissionRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create permission requires POJO request with ResourcePermissionRepresentation");
        }
    }
ID: 3260_2619
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue, Class<T> type)
    public <T> T getHeader(String name, Object defaultValue, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
            value = defaultValue;
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #961 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 1423_1268
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.close()
    public void close() {
        if (acceptorThread != null) {
            lock.lock();
            try {
                try {
                     
                    if (serversocket != null) {
                        serversocket.close();
                    }
                } catch (IOException e) {
                    LOG.debug(e.getMessage(), e);
                } finally {
                    acceptorThread = null;
                    listenerService = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #962 Negative (Non-Clone)
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
Pair #963 Negative (Non-Clone)
ID: 1540_1358
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) {
        LOG.trace("toCamelMessage: {}", response);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(response.getHttpResponse(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(response.getInputStream());
        return answer;
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #964 Negative (Non-Clone)
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3220_2505
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            key = key.toUpperCase(Locale.ENGLISH).replace('-', '_');

             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);

            if (host != null && port != null) {
                return host + ":" + port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #965 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #966 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #967 Negative (Non-Clone)
ID: 1689_1410
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelEndpointFactoryBean) {
                CamelEndpointFactoryBean factoryBean = (CamelEndpointFactoryBean) value;
                builder.addPropertyValue("properties", factoryBean.getProperties());
            }
        }
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
Pair #968 Negative (Non-Clone)
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #969 Negative (Non-Clone)
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 2385_1875
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
Name: org.apache.camel.component.irc.IrcProducer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #970 Negative (Non-Clone)
ID: 2468_1988
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
Pair #971 Negative (Non-Clone)
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #972 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
Pair #973 Negative (Non-Clone)
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #974 Negative (Non-Clone)
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 933_808
ClassID: 933
File: systems/camel-java/components/camel-pdf/src/generated/java/org/apache/camel/component/pdf/converter/PdfConverterLoader.java
Name: org.apache.camel.component.pdf.converter.PdfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().convertToPDF((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, java.io.File.class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().convertToPDF((java.io.File) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, java.io.InputStream.class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().toPDDocument((java.io.InputStream) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #975 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #976 Negative (Non-Clone)
ID: 3232_2548
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.bodyOgnlExpression(final String ognl)
    public static Expression bodyOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object body = exchange.getIn().getBody();
                if (body == null) {
                    return null;
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "bodyOgnl(" + ognl + ")";
            }
        };
    }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #977 Negative (Non-Clone)
ID: 2564_2140
ClassID: 2564
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.apiMethodAlias(ApiModel api, ApiMethodModel method)
    private static String apiMethodAlias(ApiModel api, ApiMethodModel method) {
        String name = method.getName();
        for (String alias : api.getAliases()) {
            int pos = alias.indexOf('=');
            String pattern = alias.substring(0, pos);
            String aliasMethod = alias.substring(pos + 1);
             
            if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) {
                return aliasMethod;
            }
        }
        return null;
    }
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
Pair #978 Negative (Non-Clone)
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 239_293
ClassID: 239
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/EventhubsReloadTriggerTask.java
Name: org.apache.camel.component.azure.key.vault.EventhubsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #979 Negative (Non-Clone)
ID: 1720_1436
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #980 Negative (Non-Clone)
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
Pair #981 Negative (Non-Clone)
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #982 Negative (Non-Clone)
ID: 3282_2674
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createPredicate(String expression, Object[] properties)
    public Predicate createPredicate(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        return createPredicate(input, expression, properties);
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #983 Negative (Non-Clone)
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #984 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
Pair #985 Negative (Non-Clone)
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 1318_1223
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                root.put("masterUrl", client.getMasterUrl().toString());
                root.put("login", "OAuth Token");
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (secretsRefreshTask != null) {
            Instant start = secretsRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("secrets", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #986 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 385_431
ClassID: 385
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
Name: org.apache.camel.component.sjms.SjmsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (isTransacted() && getExchangePattern().isOutCapable()) {
            throw new IllegalArgumentException("SjmsProducer cannot be both transacted=true and exchangePattern=InOut");
        }

        Producer answer = new SjmsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(answer);
        } else {
            return answer;
        }
    }
Pair #987 Negative (Non-Clone)
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2273_1799
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(final Exchange exchange, final String messageId)
    public boolean contains(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("contains {} -> {}", messageId, rc[0]);
        return rc[0];
    }
Pair #988 Negative (Non-Clone)
ID: 1218_1045
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCharges(Exchange exchange, String method)
    private Object handleCharges(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Charge.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Charge.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String chargeId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge charge = Charge.retrieve(chargeId);
                return charge.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Charge.list(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CAPTURE:
                String captureId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge captureCharge = Charge.retrieve(captureId);
                return captureCharge.capture(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for charges: " + method);
        }
    }
ID: 1485_1323
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/SharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.SharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #989 Negative (Non-Clone)
ID: 1252_1089
ClassID: 1252
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected JtaTransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor,
            ErrorHandlerFactory builder) {
        JtaTransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 2400_1889
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferProducer.java
Name: org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case READ_ONCE_HEAD:
                this.readOnceHead(exchange);
                break;

            case READ_ONCE_TAIL:
                this.readOnceTail(exchange);
                break;

            case CAPACITY:
                this.getCapacity(exchange);
                break;

            case REMAINING_CAPACITY:
                this.getRemainingCapacity(exchange);
                break;

            case ADD:
                this.add(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the RINGBUFFER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #990 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
Pair #991 Negative (Non-Clone)
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #992 Negative (Non-Clone)
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
ID: 2581_2178
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.doLoadJavaSource(String className)
    private String doLoadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

             
            if (file == null && className.startsWith("org.apache.camel.support.")) {
                return null;
            }

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
Pair #993 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
Pair #994 Negative (Non-Clone)
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
Pair #995 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #996 Negative (Non-Clone)
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 49_62
ClassID: 49
File: systems/camel-java/components/camel-ai/camel-openai/src/main/java/org/apache/camel/component/openai/OpenAIComponent.java
Name: org.apache.camel.component.openai.OpenAIComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpenAIConfiguration configuration = new OpenAIConfiguration();

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (baseUrl != null) {
            configuration.setBaseUrl(baseUrl);
        }
        if (model != null) {
            configuration.setModel(model);
        }

        OpenAIEndpoint endpoint = new OpenAIEndpoint(uri, this, configuration);
         
        endpoint.setOperation(remaining);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #997 Negative (Non-Clone)
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
Pair #998 Negative (Non-Clone)
ID: 3266_2631
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(K key, V value)
    public V putIfAbsent(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        if (v != null) {
                            return v;
                        }
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #999 Negative (Non-Clone)
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
ID: 1993_1635
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromAdmin(Message message, SessionID sessionID)
        public void fromAdmin(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
            try {
                dispatch(QuickfixjEventCategory.AdminMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, RejectLogon.class);
                throw new DispatcherException(e);
            }
        }
Pair #1000 Negative (Non-Clone)
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1001 Negative (Non-Clone)
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
Pair #1002 Negative (Non-Clone)
ID: 2668_2353
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #1003 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
Pair #1004 Negative (Non-Clone)
ID: 376_409
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, Destination replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            Destination replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
Pair #1005 Negative (Non-Clone)
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
ID: 2268_1786
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaPollingConsumer.java
Name: org.apache.camel.component.jpa.JpaPollingConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Map.Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
Pair #1006 Negative (Non-Clone)
ID: 2509_2061
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.extendsType(ClassInfo ci, DotName superType)
    protected boolean extendsType(ClassInfo ci, DotName superType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(superType)) {
            return true;
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return extendsType(
                    view.getClassByName(superName),
                    superType);
        }

        return false;
    }
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
Pair #1007 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
Pair #1008 Negative (Non-Clone)
ID: 1037_893
ClassID: 1037
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.getHandler(HttpServerExchange httpServerExchange, String method)
    private HttpHandler getHandler(HttpServerExchange httpServerExchange, String method) {
        HttpHandler answer = null;

         
        if (method == null) {
            return null;
        }

        String path = httpServerExchange.getRequestURI();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer>> paths = new ArrayList<>();
        for (final UndertowConsumer consumer : consumers) {
            paths.add(new RestConsumerPath(consumer));
        }

        RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<UndertowConsumer> candidates = new ArrayList<>();
        if (answer == null) {
            for (final UndertowConsumer consumer : consumers) {

                String consumerPath = consumer.getEndpoint().getHttpURI().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(consumer);
                }
            }
        }

         
        candidates = candidates.stream().filter(c -> matchRestMethod(method, c.getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 257_333
ClassID: 257
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSConsumer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    processComplete(exchange);
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processFailure(exchange);
                }
            });

            AsyncCallback callback = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, callback);
        }

        return total;
    }
Pair #1009 Negative (Non-Clone)
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
ID: 241_306
ClassID: 241
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("GCP Secret Manager:");
            if (propertiesFunction.isUseDefaultInstance()) {
                sb.append("\n    Login: Default Instance");
            } else {
                sb.append("\n    Login: Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", gcp.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", gcp.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
Pair #1010 Negative (Non-Clone)
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #1011 Negative (Non-Clone)
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1012 Negative (Non-Clone)
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1013 Negative (Non-Clone)
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
ID: 1111_945
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private ImageClient initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getImageClient() != null) {
            LOG.info(
                    "Instance of ImageClient was set on the endpoint. Skipping creation of ImageClient from endpoint parameters");
            this.imageClient = endpoint.getImageClient();
            return endpoint.getImageClient();
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        imageClient = ImageClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Image client");
        }
        return imageClient;
    }
Pair #1014 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #1015 Negative (Non-Clone)
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
ID: 2522_2088
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.JmsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "clientId": getOrCreateConfiguration((JmsComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((JmsComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((JmsComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((JmsComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((JmsComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((JmsComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((JmsComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((JmsComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((JmsComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((JmsComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((JmsComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((JmsComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((JmsComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((JmsComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((JmsComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((JmsComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((JmsComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((JmsComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((JmsComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((JmsComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((JmsComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((JmsComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((JmsComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((JmsComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((JmsComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((JmsComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((JmsComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((JmsComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((JmsComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((JmsComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((JmsComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((JmsComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((JmsComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((JmsComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((JmsComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((JmsComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((JmsComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((JmsComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((JmsComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((JmsComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((JmsComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((JmsComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((JmsComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((JmsComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((JmsComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((JmsComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((JmsComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((JmsComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((JmsComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((JmsComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((JmsComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((JmsComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((JmsComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((JmsComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((JmsComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((JmsComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((JmsComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((JmsComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((JmsComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((JmsComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((JmsComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((JmsComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((JmsComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((JmsComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((JmsComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((JmsComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((JmsComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((JmsComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((JmsComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((JmsComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((JmsComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((JmsComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((JmsComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((JmsComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((JmsComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((JmsComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((JmsComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((JmsComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((JmsComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((JmsComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((JmsComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((JmsComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((JmsComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((JmsComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((JmsComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((JmsComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((JmsComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((JmsComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #1016 Negative (Non-Clone)
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
Pair #1017 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2664_2345
ClassID: 2664
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #1018 Negative (Non-Clone)
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #1019 Negative (Non-Clone)
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1020 Negative (Non-Clone)
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
Pair #1021 Negative (Non-Clone)
ID: 2461_1964
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);

        Map<Long, Pid> pids = new LinkedHashMap<>();

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailReceiveFiles(pids, tail);
                dumpReceiveFiles(pids, tail, limit);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            boolean init = true;
            StopWatch watch = new StopWatch();
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        if (!"json".equals(output)) {
                            printer().println("Waiting for messages ...");
                        }
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readReceiveFiles(pids);
                    if (lines > 0) {
                        more = dumpReceiveFiles(pids, 0, null);
                        init = false;
                    } else if (lines == 0) {
                        if (init) {
                            if (!"json".equals(output)) {
                                printer().println("Waiting for messages ...");
                            }
                            init = false;
                        }
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #1022 Negative (Non-Clone)
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
Pair #1023 Negative (Non-Clone)
ID: 971_813
ClassID: 971
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        validate();
        JpaConsumer consumer = new JpaConsumer(this, processor);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        consumer.setTransacted(isTransacted());
        consumer.setSkipLockedEntity(isSkipLockedEntity());
        consumer.setDeleteHandler(getDeleteHandler());
        consumer.setPreDeleteHandler(getPreDeleteHandler());
        configureConsumer(consumer);
        return consumer;
    }
ID: 49_62
ClassID: 49
File: systems/camel-java/components/camel-ai/camel-openai/src/main/java/org/apache/camel/component/openai/OpenAIComponent.java
Name: org.apache.camel.component.openai.OpenAIComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpenAIConfiguration configuration = new OpenAIConfiguration();

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (baseUrl != null) {
            configuration.setBaseUrl(baseUrl);
        }
        if (model != null) {
            configuration.setModel(model);
        }

        OpenAIEndpoint endpoint = new OpenAIEndpoint(uri, this, configuration);
         
        endpoint.setOperation(remaining);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1024 Negative (Non-Clone)
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1025 Negative (Non-Clone)
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1026 Negative (Non-Clone)
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
Pair #1027 Negative (Non-Clone)
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
Pair #1028 Negative (Non-Clone)
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #1029 Negative (Non-Clone)
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
Pair #1030 Negative (Non-Clone)
ID: 2246_1770
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeClientListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                if (this.version != null) {
                    cache.removeWithVersion(InfinispanClusterService.LEADER_KEY, this.version);
                }

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }

            this.version = null;
        }
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1031 Negative (Non-Clone)
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 2050_1668
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #1032 Negative (Non-Clone)
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 3236_2557
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/CustomTransformerReifier.java
Name: org.apache.camel.reifier.transformer.CustomTransformerReifier.doCreateTransformer()
    protected Transformer doCreateTransformer() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'className' must be specified for customTransformer");
        }
        Transformer transformer;
        String ref = parseString(definition.getRef());
        if (ref != null) {
            transformer = lookupByNameAndType(ref, Transformer.class);
            if (transformer == null) {
                throw new IllegalArgumentException("Cannot find transformer with ref:" + definition.getRef());
            }
            if (transformer.getName() != null || transformer.getFrom() != null || transformer.getTo() != null) {
                throw new IllegalArgumentException(
                        String.format("Transformer '%s' is already in use. Please check if duplicate transformer exists.",
                                definition.getRef()));
            }
        } else {
            Class<Transformer> transformerClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Transformer.class);
            if (transformerClass == null) {
                throw new IllegalArgumentException("Cannot find transformer class: " + definition.getClassName());
            }
             
            transformer = camelContext.getInjector().newInstance(transformerClass, false);  
        }
        transformer.setCamelContext(camelContext);
        return transformer.setName(definition.getScheme(), definition.getName()).setFrom(definition.getFromType())
                .setTo(definition.getToType());
    }
Pair #1033 Negative (Non-Clone)
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
Pair #1034 Negative (Non-Clone)
ID: 1752_1455
ClassID: 1752
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY);
        }
        return key;
    }
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #1035 Negative (Non-Clone)
ID: 1204_1031
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetHistory(Exchange exchange, AsyncCallback callback)
    private void doGetHistory(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .history()
                .channel(getChannel(exchange))
                .async((Result<PNHistoryResult> result) -> {
                    LOG.debug("Got history message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHistoryResult r = result.getOrNull();
                        processMessage(exchange, callback, r != null ? r.getMessages() : null);
                    }
                });
    }
ID: 3108_2392
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplatesDefinition.java
Name: org.apache.camel.model.RouteTemplatesDefinition.createRouteTemplate()
    protected RouteTemplateDefinition createRouteTemplate() {
        RouteTemplateDefinition template = new RouteTemplateDefinition();
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            template.getRoute().setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            template.setResource(resource);
        }
        return template;
    }
Pair #1036 Negative (Non-Clone)
ID: 3218_2500
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasFallbackConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasFallbackConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidFallbackConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method is not "
                         + "a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method "
                             + "returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    if (isStatic(modifiers)) {
                        registerFallbackTypeConverter(registry,
                                new StaticMethodFallbackTypeConverter(method, registry, allowNull), method);
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerFallbackTypeConverter(registry,
                                new InstanceMethodFallbackTypeConverter(injector, method, registry, allowNull), method);
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method should have "
                     + "one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #1037 Negative (Non-Clone)
ID: 2386_1884
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onMode(String channel, IRCUser user, IRCModeParser modeParser)
        public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
            if (configuration.isOnMode()) {
                Exchange exchange = createOnModeExchange(channel, user, modeParser);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1547_1366
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/DeleteOperation.java
Name: org.apache.camel.component.zookeeper.operations.DeleteOperation.getResult()
    public OperationResult<Boolean> getResult() {
        try {
            connection.delete(node, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'", node));
                } else {
                    LOG.debug(format("Set data of node '%s'", node));
                }
            }
            return new OperationResult<>(true, null, true);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #1038 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1039 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #1040 Negative (Non-Clone)
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1041 Negative (Non-Clone)
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #1042 Negative (Non-Clone)
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2667_2351
ClassID: 2667
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
Name: org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.shouldFailOver(Exchange exchange)
    protected boolean shouldFailOver(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (exceptions == null || exceptions.isEmpty()) {
                 
                answer = true;
            } else {
                for (Class<?> exception : exceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }

            if (answer) {
                 
                statistics.onHandledFailure(exchange.getException());
            }
        }

        if (LOG.isTraceEnabled()) {
            LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
        }

        return answer;
    }
Pair #1043 Negative (Non-Clone)
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #1044 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 3249_2592
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCommonServices()
    private void setupCommonServices() throws Exception {
        BacklogTracer backlogTracer = getBeanForType(BacklogTracer.class);
        if (backlogTracer != null) {
            LOG.info("Using custom BacklogTracer: {}", backlogTracer);
            getContext().addService(backlogTracer);
        }
        InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
        if (inflightRepository != null) {
            LOG.info("Using custom InflightRepository: {}", inflightRepository);
            getContext().setInflightRepository(inflightRepository);
        }
        AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
        if (asyncProcessorAwaitManager != null) {
            LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
            getContext().getCamelContextExtension().addContextPlugin(AsyncProcessorAwaitManager.class,
                    asyncProcessorAwaitManager);
        }
        ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
        if (managementStrategy != null) {
            LOG.info("Using custom ManagementStrategy: {}", managementStrategy);
            getContext().setManagementStrategy(managementStrategy);
        }
        ManagementObjectNameStrategy managementObjectNameStrategy = getBeanForType(ManagementObjectNameStrategy.class);
        if (managementObjectNameStrategy != null) {
            LOG.info("Using custom ManagementObjectNameStrategy: {}", managementObjectNameStrategy);
            getContext().getManagementStrategy().setManagementObjectNameStrategy(managementObjectNameStrategy);
        }
        EventFactory eventFactory = getBeanForType(EventFactory.class);
        if (eventFactory != null) {
            LOG.info("Using custom EventFactory: {}", eventFactory);
            getContext().getManagementStrategy().setEventFactory(eventFactory);
        }
        UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
        if (unitOfWorkFactory != null) {
            LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
            getContext().getCamelContextExtension().addContextPlugin(UnitOfWorkFactory.class, unitOfWorkFactory);
        }
        RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
        if (runtimeEndpointRegistry != null) {
            LOG.info("Using custom RuntimeEndpointRegistry: {}", runtimeEndpointRegistry);
            getContext().setRuntimeEndpointRegistry(runtimeEndpointRegistry);
        }
        EndpointServiceRegistry endpointServiceRegistry = getBeanForType(EndpointServiceRegistry.class);
        if (endpointServiceRegistry != null) {
            LOG.info("Using custom EndpointServiceRegistry: {}", endpointServiceRegistry);
            getContext().getCamelContextExtension().addContextPlugin(EndpointServiceRegistry.class, endpointServiceRegistry);
        }
        HeadersMapFactory headersMapFactory = getBeanForType(HeadersMapFactory.class);
        if (headersMapFactory != null) {
            LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
            getContext().getCamelContextExtension().setHeadersMapFactory(headersMapFactory);
        }
    }
Pair #1045 Negative (Non-Clone)
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
Pair #1046 Negative (Non-Clone)
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #1047 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
Pair #1048 Negative (Non-Clone)
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
Pair #1049 Negative (Non-Clone)
ID: 1876_1550
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getCeOverrides()
    public Map<String, String> getCeOverrides() {
        Map<String, String> answer = new HashMap<>();
        if (this.ceOverrides != null) {
            answer.putAll(this.ceOverrides);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_CE_OVERRIDE_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_CE_OVERRIDE_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #1050 Negative (Non-Clone)
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
Pair #1051 Negative (Non-Clone)
ID: 444_472
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketDelimiterDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketDelimiterDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            Object result = delegateDecoder.decode(ctx, payload);
            AddressedEnvelope<Object, InetSocketAddress> addressEvelop
                    = new DefaultAddressedEnvelope<>(result, msg.recipient(), msg.sender());
            out.add(addressEvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 1162_994
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setData(T data)
    public void setData(T data) {
        Objects.requireNonNull(data, "data must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.data = data;
        flushCycle();
    }
Pair #1052 Negative (Non-Clone)
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
Pair #1053 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
Pair #1054 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1490_1328
ClassID: 1490
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.deserializeJavaObjectFromStream(InputStream is, CamelContext context)
    public static Object deserializeJavaObjectFromStream(InputStream is, CamelContext context)
            throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new CamelObjectInputStream(is, context);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #1055 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #1056 Negative (Non-Clone)
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1057 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 893_747
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-qdrant/src/main/java/org/apache/camel/component/qdrant/QdrantEndpoint.java
Name: org.apache.camel.component.qdrant.QdrantEndpoint.getClient()
    public QdrantClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
Pair #1058 Negative (Non-Clone)
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
Pair #1059 Negative (Non-Clone)
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
ID: 3218_2499
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn(
                        "Ignoring bad converter on type: {} method: {} as a converter method is not a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    Class<?> fromType = method.getParameterTypes()[0];
                    if (isStatic(modifiers)) {
                        registerTypeConverter(registry, method, toType, fromType,
                                new StaticMethodTypeConverter(method, allowNull));
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerTypeConverter(registry, method, toType, fromType,
                                new InstanceMethodTypeConverter(injector, method, registry, allowNull));
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method should have one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
Pair #1060 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 104_92
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createRole(Keycloak keycloakClient, Exchange exchange)
    private void createRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Role created successfully");
        }
    }
Pair #1061 Negative (Non-Clone)
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #1062 Negative (Non-Clone)
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
Pair #1063 Negative (Non-Clone)
ID: 2041_1647
ClassID: 2041
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/cluster/FileLockClusterView.java
Name: org.apache.camel.component.file.cluster.FileLockClusterView.closeLockFiles()
    private void closeLockFiles() {
        if (leaderLockFile != null) {
            try {
                leaderLockFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderLockFile = null;
        }

        if (leaderDataFile != null) {
            try {
                leaderDataFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderDataFile = null;
        }
    }
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
Pair #1064 Negative (Non-Clone)
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
Pair #1065 Negative (Non-Clone)
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1066 Negative (Non-Clone)
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 1148_989
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/CounterProducer.java
Name: org.apache.camel.opentelemetry.metrics.CounterProducer.getInstrument(String name, String description)
    protected LongUpDownCounter getInstrument(String name, String description) {
        LongUpDownCounter counter = counters.get(name);
        if (counter == null) {
            synchronized (lock) {
                counter = counters.get(name);
                if (counter == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongUpDownCounterBuilder builder = meter.upDownCounterBuilder(name);
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    counter = builder.build();
                    counters.put(name, counter);
                }
            }
        }
        return counter;
    }
Pair #1067 Negative (Non-Clone)
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
Pair #1068 Negative (Non-Clone)
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 2457_1955
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));
        answer.removeIf(s -> s.contains("camel-microprofile-health"));

        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-quarkus:" + hawtioVersion);
        }

        return answer;
    }
Pair #1069 Negative (Non-Clone)
ID: 926_802
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor)
    GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        this.pendingSynchronousPullResponses = ConcurrentHashMap.newKeySet();
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #1070 Negative (Non-Clone)
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
Pair #1071 Negative (Non-Clone)
ID: 1246_1075
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.valueOf(DirectoryChangeEvent.EventType directoryChangeEventType)
    public static FileEventEnum valueOf(DirectoryChangeEvent.EventType directoryChangeEventType) {
        switch (directoryChangeEventType) {
            case CREATE:
                return FileEventEnum.CREATE;
            case DELETE:
                return FileEventEnum.DELETE;
            case MODIFY:
                return FileEventEnum.MODIFY;
            default:
                return null;
        }
    }
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #1072 Negative (Non-Clone)
ID: 449_478
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethGetLogs(Message message)
    void ethGetLogs(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);
        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthLog> request = web3j.ethGetLogs(ethFilter);
        setRequestId(message, request);
        EthLog response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getLogs());
        }
    }
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #1073 Negative (Non-Clone)
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #1074 Negative (Non-Clone)
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
ID: 2047_1663
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentRename(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentRename(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRenameRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentRenameRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #1075 Negative (Non-Clone)
ID: 189_209
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateBatchQuery(final Exchange exchange, final AsyncCallback callback)
    private void processCreateBatchQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        ContentType contentType;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String soqlQuery;
        if (jobBody != null) {
            jobId = jobBody.getId();
            contentType = jobBody.getContentType();
             
            soqlQuery = getParameter(SOBJECT_QUERY, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            contentType = ContentType.fromValue(getParameter(CONTENT_TYPE, exchange, IGNORE_BODY, NOT_OPTIONAL));
             
            soqlQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.createBatchQuery(jobId, soqlQuery, contentType, determineHeaders(exchange),
                new BulkApiClient.BatchInfoResponseCallback() {
                    @Override
                    public void onResponse(BatchInfo batchInfo, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, batchInfo, headers, ex, callback);
                    }
                });
    }
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #1076 Negative (Non-Clone)
ID: 2668_2354
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.deliverToOnRedeliveryProcessor()
        protected void deliverToOnRedeliveryProcessor() {
            if (onRedeliveryProcessor == null) {
                return;
            }

            if (LOG.isTraceEnabled()) {
                LOG.trace("Redelivery processor {} is processing Exchange: {} before its redelivered",
                        onRedeliveryProcessor, exchange);
            }

             
            try {
                onRedeliveryProcessor.process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            LOG.trace("Redelivery processor done");
        }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #1077 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #1078 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 2100_1697
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.recover(CamelContext camelContext, final String exchangeId)
    public Exchange recover(CamelContext camelContext, final String exchangeId) {
        Exchange answer = null;

        try {
            byte[] completedLDBKey = keyBuilder(getRepositoryNameCompleted(), exchangeId);

            byte[] rc = levelDBFile.getDb().get(completedLDBKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException(
                    "Error recovering exchangeId " + exchangeId + " from repository " + repositoryName, e);
        }

        LOG.debug("Recovering exchangeId [{}] -> {}", exchangeId, answer);
        return answer;
    }
Pair #1079 Negative (Non-Clone)
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
Pair #1080 Negative (Non-Clone)
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1081 Negative (Non-Clone)
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
Pair #1082 Negative (Non-Clone)
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1083 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 903_779
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case LIST:
                apiProxy = getClient().calendarList();
                break;
            case ACL:
                apiProxy = getClient().acl();
                break;
            case CALENDARS:
                apiProxy = getClient().calendars();
                break;
            case CHANNELS:
                apiProxy = getClient().channels();
                break;
            case COLORS:
                apiProxy = getClient().colors();
                break;
            case EVENTS:
                apiProxy = getClient().events();
                break;
            case FREEBUSY:
                apiProxy = getClient().freebusy();
                break;
            case SETTINGS:
                apiProxy = getClient().settings();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1084 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #1085 Negative (Non-Clone)
ID: 242_310
ClassID: 242
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("region", propertiesFunction.getRegion());
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                root.put("login", "DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                root.put("login", "ProfileCredentialsProvider");
            } else {
                root.put("login", "Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                root.put("refreshEnabled", aws.isRefreshEnabled());
                root.put("refreshPeriod", aws.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1086 Negative (Non-Clone)
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #1087 Negative (Non-Clone)
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #1088 Negative (Non-Clone)
ID: 1973_1606
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.get(Exchange exchange)
    private void get(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, String> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        Collection.GetResult result = collection.get(ids, where, whereDocument);

        in.setBody(result);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #1089 Negative (Non-Clone)
ID: 1308_1163
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.run()
        public void run() {
            FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> client
                        = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #1090 Negative (Non-Clone)
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1091 Negative (Non-Clone)
ID: 305_368
ClassID: 305
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #1092 Negative (Non-Clone)
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
Pair #1093 Negative (Non-Clone)
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1094 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #1095 Negative (Non-Clone)
ID: 2666_2350
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);

        sb.append("setVariables[");
        int variableIndex = 0;
        for (Expression expression : expressions) {
            if (variableIndex > 0) {
                sb.append("; ");
            }
            sb.append(variableNames.get(variableIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #1096 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 2664_2346
ClassID: 2664
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return message;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #1097 Negative (Non-Clone)
ID: 3255_2608
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.closeCircuit(Route route)
    protected void closeCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            failures.set(0);
            success.set(0);
            lastFailure = 0;
            openedAt = 0;
            state.set(STATE_CLOSED);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1184_1006
ClassID: 1184
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        if (usingIterator) {
            ZipIterator zipIterator = new ZipIterator(exchange, inputStream);
            zipIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return zipIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(inputStream);
            ZipArchiveInputStream zis = new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.ZIP, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                ZipArchiveEntry entry = zis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(zis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
                }

                entry = zis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Zip file has more than 1 entry.");
                }

                return osb.build();
            } finally {
                IOHelper.close(osb, zis, bis);
            }
        }
    }
Pair #1098 Negative (Non-Clone)
ID: 1311_1189
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doListHPAByLabel(Exchange exchange)
    protected void doListHPAByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get HPA by labels require specify a labels set");
            throw new IllegalArgumentException("Get HPA by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace()
                    .withLabels(labels).list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
ID: 2327_1834
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentFromExchange(Exchange exchange)
    private Document createDocumentFromExchange(Exchange exchange) throws InvalidPayloadException {
         
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isNotEmpty(s3Bucket) && ObjectHelper.isNotEmpty(s3Object)) {
            S3Object.Builder s3ObjectBuilder = S3Object.builder()
                    .bucket(s3Bucket)
                    .name(s3Object);

            String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
            if (ObjectHelper.isEmpty(s3ObjectVersion)) {
                s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
            }
            if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
                s3ObjectBuilder.version(s3ObjectVersion);
            }

            return Document.builder()
                    .s3Object(s3ObjectBuilder.build())
                    .build();
        } else {
             
            byte[] documentBytes = exchange.getIn().getMandatoryBody(byte[].class);
            return Document.builder()
                    .bytes(SdkBytes.fromByteArray(documentBytes))
                    .build();
        }
    }
Pair #1099 Negative (Non-Clone)
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
Pair #1100 Negative (Non-Clone)
ID: 27_49
ClassID: 27
File: systems/camel-java/components/camel-snmp/src/generated/java/org/apache/camel/component/snmp/SnmpConvertersLoader.java
Name: org.apache.camel.component.snmp.SnmpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.snmp4j.PDU.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toString((org.snmp4j.PDU) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.snmp.OIDList.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toOIDList((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 836_717
ClassID: 836
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Producer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Producer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectionOptions);
        }
    }
Pair #1101 Negative (Non-Clone)
ID: 1995_1639
ClassID: 1995
File: systems/camel-java/components/camel-log/src/main/java/org/apache/camel/component/log/LogComponent.java
Name: org.apache.camel.component.log.LogComponent.doInit()
    protected void doInit() throws Exception {
        DefaultExchangeFormatter def = new DefaultExchangeFormatter();
        def.setShowExchangePattern(true);
        def.setSkipBodyLineSeparator(true);
        def.setShowBody(true);
        def.setShowBodyType(true);
        def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
        def.setMaxChars(10000);
        this.defaultExchangeFormatter = def;
    }
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
Pair #1102 Negative (Non-Clone)
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #1103 Negative (Non-Clone)
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #1104 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #1105 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #1106 Negative (Non-Clone)
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 766_693
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.synthesize(Exchange exchange)
    private void synthesize(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String text = exchange.getIn().getHeader(WatsonTextToSpeechConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to synthesize must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String accept = exchange.getIn().getHeader(WatsonTextToSpeechConstants.ACCEPT,
                getEndpoint().getConfiguration().getAccept(), String.class);
        String customizationId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.CUSTOMIZATION_ID,
                getEndpoint().getConfiguration().getCustomizationId(), String.class);

        LOG.trace("Synthesizing text with TTS: voice={}, accept={}", voice, accept);

        SynthesizeOptions.Builder builder = new SynthesizeOptions.Builder()
                .text(text)
                .voice(voice)
                .accept(accept);

        if (customizationId != null && !customizationId.isBlank()) {
            builder.customizationId(customizationId);
        }

        SynthesizeOptions options = builder.build();

        InputStream audioStream = tts.synthesize(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(audioStream);
        message.setHeader(WatsonTextToSpeechConstants.VOICE, voice);
        message.setHeader(WatsonTextToSpeechConstants.ACCEPT, accept);
    }
Pair #1107 Negative (Non-Clone)
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
Pair #1108 Negative (Non-Clone)
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #1109 Negative (Non-Clone)
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
Pair #1110 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 2454_1949
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Quarkus project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            if (!prop.containsKey("quarkus.http.port")) {
                int port = httpServerPort(settings);
                if (port == -1) {
                    port = 8080;
                }
                if (port != 8080) {
                    prop.put("quarkus.http.port", port);
                }
            }
            if (!prop.containsKey("quarkus.management.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("quarkus.management.port", port);
                }
            }
            if (hawtio) {
                prop.setProperty("quarkus.hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
         
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + "quarkus-app" + File.separator + "quarkus-run.jar";
        copyReadme(BUILD_DIR, appJar);
         
        Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createGradleProperties(buildDir.resolve("gradle.properties"));
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }

        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Path.of(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
Pair #1111 Negative (Non-Clone)
ID: 2602_2223
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShortOrDefault(final String key, final short defaultValue)
    public Short getShortOrDefault(final String key, final short defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #1112 Negative (Non-Clone)
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
Pair #1113 Negative (Non-Clone)
ID: 1977_1618
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.ZooQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #1114 Negative (Non-Clone)
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #1115 Negative (Non-Clone)
ID: 2048_1665
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotent(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotent(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRepositoryReadLockStrategy readLockStrategy = new FileIdempotentRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #1116 Negative (Non-Clone)
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1117 Negative (Non-Clone)
ID: 173_133
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createHandshakeListener()
    private MessageListener createHandshakeListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_HANDSHAKE]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Handshake failure: {}", message);
                handshakeError = (String) message.get(ERROR_FIELD);
                handshakeException = getFailure(message);
                if (handshakeError != null) {
                    if (handshakeError.startsWith("403::")) {
                        String failureReason = getFailureReason(message);
                        if (failureReason.equals(AUTHENTICATION_INVALID)) {
                            LOG.debug(
                                    "attempting login due to handshake error: 403 -> 401::Authentication invalid");
                            session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                        }
                    }
                }
                 
                LOG.debug("Handshake failed, so try again.");
                client.handshake();
            } else if (!channelToConsumers.isEmpty()) {
                channelsToSubscribe.clear();
                channelsToSubscribe.addAll(channelToConsumers.keySet());
                LOG.info("Handshake successful. Channels to subscribe: {}", channelsToSubscribe);
            }
        });
    }
ID: 1871_1540
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #1118 Negative (Non-Clone)
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #1119 Negative (Non-Clone)
ID: 685_622
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 302_359
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureStorageDataLakeSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureStorageDataLakeSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, getComponent());

        String fileSystemName = exchange.getIn().getHeader(FILESYSTEM_NAME, String.class);
        if (fileSystemName != null) {
            span.setTag(TagConstants.DB_NAME, fileSystemName);
        }

        String directoryName = exchange.getIn().getHeader(DIRECTORY_NAME, String.class);
        if (directoryName != null) {
            span.setTag(STORAGE_DATALAKE_DIRECTORY_NAME, directoryName);
        }

        String fileName = exchange.getIn().getHeader(FILE_NAME, String.class);
        if (fileName != null) {
            span.setTag(STORAGE_DATALAKE_FILE_NAME, fileName);
        }

        String path = exchange.getIn().getHeader(PATH, String.class);
        if (path != null) {
            span.setTag(STORAGE_DATALAKE_PATH, path);
        }

        Duration timeout = exchange.getIn().getHeader(TIMEOUT, Duration.class);
        if (timeout != null) {
            span.setTag(STORAGE_DATALAKE_TIMEOUT, timeout.toString());
        }

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(STORAGE_DATALAKE_CONTENT_TYPE, contentType);
        }

        Map metadata = exchange.getIn().getHeader(METADATA, Map.class);
        if (metadata != null) {
            span.setTag(STORAGE_DATALAKE_METADATA, metadata.toString());
        }

        OffsetDateTime lastModified = exchange.getIn().getHeader(LAST_MODIFIED, OffsetDateTime.class);
        if (lastModified != null) {
            span.setTag(STORAGE_DATALAKE_LAST_MODIFIED, lastModified.toString());
        }

        Long position = exchange.getIn().getHeader(POSITION, Long.class);
        if (position != null) {
            span.setTag(STORAGE_DATALAKE_POSITION, position);
        }

        String expression = exchange.getIn().getHeader(EXPRESSION, String.class);
        if (expression != null) {
            span.setTag(STORAGE_DATALAKE_EXPRESSION, expression);
        }
    }
Pair #1120 Negative (Non-Clone)
ID: 2454_1949
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Quarkus project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            if (!prop.containsKey("quarkus.http.port")) {
                int port = httpServerPort(settings);
                if (port == -1) {
                    port = 8080;
                }
                if (port != 8080) {
                    prop.put("quarkus.http.port", port);
                }
            }
            if (!prop.containsKey("quarkus.management.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("quarkus.management.port", port);
                }
            }
            if (hawtio) {
                prop.setProperty("quarkus.hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
         
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + "quarkus-app" + File.separator + "quarkus-run.jar";
        copyReadme(BUILD_DIR, appJar);
         
        Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createGradleProperties(buildDir.resolve("gradle.properties"));
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }

        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Path.of(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #1121 Negative (Non-Clone)
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
Pair #1122 Negative (Non-Clone)
ID: 3111_2398
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.init(CamelContext context)
    public void init(CamelContext context) {
        if (expr == null) {
            lock.lock();
            try {
                if (expr == null) {
                    Expression newExpression = getExpressionValue();
                    if (newExpression == null) {
                        newExpression = delegate.getExpressionType().createExpression(context);
                    }
                    newExpression.init(context);
                    expr = newExpression;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
Pair #1123 Negative (Non-Clone)
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
Pair #1124 Negative (Non-Clone)
ID: 2613_2260
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.XMLSecurityDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("secureTag", definition.getSecureTag());
        properties.put("secureTagContents", definition.getSecureTagContents());
        properties.put("passPhrase", or(definition.getPassPhrase(), definition.getPassPhraseByte()));
        properties.put("xmlCipherAlgorithm", definition.getXmlCipherAlgorithm());
        properties.put("keyCipherAlgorithm", definition.getKeyCipherAlgorithm());
        properties.put("recipientKeyAlias", definition.getRecipientKeyAlias());
        properties.put("keyOrTrustStoreParameters",
                or(definition.getKeyStoreParameters(), asRef(definition.getKeyOrTrustStoreParameters())));
        properties.put("namespaces", or(definition.getNamespaces(), asRef(definition.getNamespaceRef())));
        properties.put("keyPassword", definition.getKeyPassword());
        properties.put("digestAlgorithm", definition.getDigestAlgorithm());
        properties.put("mgfAlgorithm", definition.getMgfAlgorithm());
        properties.put("addKeyValueForEncryptedKey", definition.getAddKeyValueForEncryptedKey());
    }
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #1125 Negative (Non-Clone)
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #1126 Negative (Non-Clone)
ID: 2659_2333
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LoopProcessor.java
Name: org.apache.camel.processor.LoopProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            LoopState state = new LoopState(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(state);
            } else {
                reactiveExecutor.scheduleMain(state);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #1127 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
Pair #1128 Negative (Non-Clone)
ID: 2438_1913
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GitHubHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GitHubHelper.resolveGithubAsRawFiles(String url, String wildcard, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGithubAsRawFiles(
            String url, String wildcard, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root) {
                String name = c.get("name").asText();
                String ext = FileUtil.onlyExt(name, false);
                boolean match = wildcard == null || AntPathMatcher.INSTANCE.match(wildcard, name, false);
                if (match) {
                    if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        kamelets.add(u);
                    } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        properties.add(u);
                    } else if (routes != null) {
                        if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                                || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                            String htmlUrl = c.get("html_url").asText();
                            String u = asGithubSingleUrl(htmlUrl);
                            routes.add(u);
                        }
                    } else if (all != null) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        all.add(u);
                    }
                }
            }
        }
    }
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #1129 Negative (Non-Clone)
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #1130 Negative (Non-Clone)
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #1131 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #1132 Negative (Non-Clone)
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #1133 Negative (Non-Clone)
ID: 2244_1765
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #1134 Negative (Non-Clone)
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
ID: 977_827
ClassID: 977
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders)
    public ByteBuffer marshallExchange(Exchange exchange, boolean allowSerializedHeaders)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return ByteBuffer.wrap(serialize(pe));
    }
Pair #1135 Negative (Non-Clone)
ID: 1431_1290
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationReportEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, String boundary, String charsetName, String contentTransferEncoding)
    private static void parseMessageDispositionNotificationReportEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, String boundary, String charsetName,
            String contentTransferEncoding)
            throws HttpException {
        DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");
        ObjectHelper.notNull(boundary, "boundary");
        ObjectHelper.notNull(charsetName, "charsetName");
        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof DispositionNotificationMultipartReportEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            dispositionNotificationMultipartReportEntity
                    = parseMultipartReportEntityBody(inBuffer, is, boundary, charsetName, contentTransferEncoding);

            EntityUtils.setMessageEntity(message, dispositionNotificationMultipartReportEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
Pair #1136 Negative (Non-Clone)
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
Pair #1137 Negative (Non-Clone)
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1138 Negative (Non-Clone)
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
Pair #1139 Negative (Non-Clone)
ID: 981_838
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InOutParameter()
  final public InOutParameter InOutParameter() throws ParseException {Token sqlTypeToken;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
     String outValueMapKey;
    jj_consume_token(3);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[8] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[9] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
    jj_consume_token(1);
    outValueMapKey = OutHeader();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InOutParameter(sqlType, valueSrcToken, scale, typeName, outValueMapKey);}
    throw new Error("Missing return statement in function");
}
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
Pair #1140 Negative (Non-Clone)
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1141 Negative (Non-Clone)
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2664_2345
ClassID: 2664
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #1142 Negative (Non-Clone)
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1143 Negative (Non-Clone)
ID: 2244_1766
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
ID: 1939_1590
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doStart()
    protected void doStart() throws Exception {
        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
Pair #1144 Negative (Non-Clone)
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #1145 Negative (Non-Clone)
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 1001_856
ClassID: 1001
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo4Consumer consumer = new Olingo4Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
Pair #1146 Negative (Non-Clone)
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 640_570
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Post.java
Name: org.apache.camel.component.dhis2.api.Dhis2Post.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PostOperation postOperation = dhis2Client.post(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        postOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    postOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            postOperation.withResource(resource);
        }

        return postOperation.transfer().read();

    }
Pair #1147 Negative (Non-Clone)
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
ID: 2640_2282
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeaders(Map<String, Object> headers)
    public FluentProducerTemplate withHeaders(Map<String, Object> headers) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeaders and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.putAll(headers);
        return clone;
    }
Pair #1148 Negative (Non-Clone)
ID: 2243_1764
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
Pair #1149 Negative (Non-Clone)
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 497_524
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
Pair #1150 Negative (Non-Clone)
ID: 383_427
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager(String replyTo)
    protected ReplyManager createReplyManager(String replyTo) throws Exception {
         
        ReplyManager replyManager = new QueueReplyManager(getEndpoint().getCamelContext());
        replyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + replyTo + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        replyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + replyTo + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(replyManager, name);
        replyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(replyManager);

        return replyManager;
    }
ID: 1274_1115
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier, final Supplier<DynamicRouterProducerFactory> producerFactorySupplier, final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier,
                                 final Supplier<DynamicRouterProducerFactory> producerFactorySupplier,
                                 final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.processorFactorySupplier = processorFactorySupplier;
        this.producerFactorySupplier = producerFactorySupplier;
        this.recipientListSupplier = recipientListSupplier;
        this.configuration.setChannel(channel);
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router endpoint URI: {}", uri);
    }
Pair #1151 Negative (Non-Clone)
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1152 Negative (Non-Clone)
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 1160_991
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.to(String uri, Object data)
    public Publisher<Exchange> to(String uri, Object data) {
        requestedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from("reactive-streams:" + uuid)
                                .to(u);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create requested reactive stream from direct URI: " + uri, e);
            }
        });
        return toStream(requestedUriToStream.get(uri), data);
    }
Pair #1153 Negative (Non-Clone)
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
Pair #1154 Negative (Non-Clone)
ID: 406_436
ClassID: 406
File: systems/camel-java/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
Name: org.apache.camel.component.couchdb.CouchDbEndpoint.CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component)
    public CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component) throws Exception {
        super(endpointUri, component);

        URI uri = new URI(remaining);

        protocol = uri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }

        port = uri.getPort() == -1 ? DEFAULT_PORT : uri.getPort();

        if (uri.getPath() == null || uri.getPath().isBlank()) {
            throw new IllegalArgumentException(URI_ERROR);
        }
        database = uri.getPath().substring(1);

        hostname = uri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }
    }
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
Pair #1155 Negative (Non-Clone)
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
ID: 171_127
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkV2Operation(OperationName operationName)
    private boolean isBulkV2Operation(OperationName operationName) {
        switch (operationName) {
            case BULK2_CREATE_JOB:
            case BULK2_CREATE_BATCH:
            case BULK2_CLOSE_JOB:
            case BULK2_GET_JOB:
            case BULK2_ABORT_JOB:
            case BULK2_DELETE_JOB:
            case BULK2_GET_SUCCESSFUL_RESULTS:
            case BULK2_GET_FAILED_RESULTS:
            case BULK2_GET_UNPROCESSED_RECORDS:
            case BULK2_GET_ALL_JOBS:
            case BULK2_CREATE_QUERY_JOB:
            case BULK2_GET_QUERY_JOB:
            case BULK2_GET_QUERY_JOB_RESULTS:
            case BULK2_ABORT_QUERY_JOB:
            case BULK2_DELETE_QUERY_JOB:
            case BULK2_GET_ALL_QUERY_JOBS:
                return true;
            default:
                return false;
        }
    }
Pair #1156 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 970_811
ClassID: 970
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
Name: org.apache.camel.component.sql.DefaultSqlEndpoint.doStart()
    protected void doStart() throws Exception {
        if (isServiceLocationEnabled()) {
             
            BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext());
            DataSource ds = getDataSource();
             
            if (ds != null && ds.getClass().getName().endsWith("ClientProxy")) {
                DataSource actual = UnwrapHelper.unwrapClientProxy(ds);
                if (actual != null) {
                    ds = actual;
                }
            }
            serviceUrl = SqlServiceLocationHelper.getJDBCURLFromDataSource(bi, ds);

            serviceMetadata = new HashMap<>();
            String user = SqlServiceLocationHelper.getUsernameFromConnectionFactory(bi, ds);
            if (user != null) {
                serviceMetadata.put("username", user);
            }
        }
    }
Pair #1157 Negative (Non-Clone)
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
ID: 900_771
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/BatchGoogleCalendarClientFactory.java
Name: org.apache.camel.component.google.calendar.BatchGoogleCalendarClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Calendar makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Calendar client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Calendar.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Calendar client.", e);
        }
    }
Pair #1158 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
Pair #1159 Negative (Non-Clone)
ID: 1549_1370
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.register(ServiceDefinition definition)
    public void register(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            ServiceInstance<MetaData> instance = ServiceInstance.<MetaData> builder()
                    .address(computeServiceHost(definition))
                    .port(definition.getPort())
                    .name(definition.getName())
                    .id(definition.getId())
                    .payload(new MetaData(definition.getMetadata()))
                    .build();

            serviceDiscovery.registerService(instance);

             
            serviceList.add(definition.getId());
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
Pair #1160 Negative (Non-Clone)
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
Pair #1161 Negative (Non-Clone)
ID: 1087_928
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopServer()
    protected void stopServer() {
        if (this.server == null) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                         
                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);

                        server.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.info("Vert.x HttpServer stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.server = null;
        }
    }
ID: 2586_2188
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateEndpointConfigurer(Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateEndpointConfigurer(
            Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes,
            ComponentModel componentModel, ComponentModel parentData) {
        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();

        String pfqn;
        boolean hasSuper;
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
            try {
                pfqn = classElement.getSuperclass().getName() + "Configurer";
                hasSuper = true;
            } catch (NoClassDefFoundError e) {
                pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
                hasSuper = false;
                parentData = null;
            }
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqEndpointClassName = classElement.getName();
        String endpointClassName = fqEndpointClassName.substring(fqEndpointClassName.lastIndexOf('.') + 1);
        String className = endpointClassName + "Configurer";
        String packageName = fqEndpointClassName.substring(0, fqEndpointClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<EndpointOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getEndpointParameterOptions().stream()
                    .map(EndpointOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getEndpointParameterOptions().stream()
                    .filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getEndpointParameterOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, endpointClassName,
                pfqn, psn,
                componentModel.getScheme() + "-endpoint", hasSuper, false,
                options, componentModel);
    }
Pair #1162 Negative (Non-Clone)
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
Pair #1163 Negative (Non-Clone)
ID: 644_573
ClassID: 644
File: systems/camel-java/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/WhatsAppWebhookProcessor.java
Name: org.apache.camel.component.whatsapp.WhatsAppWebhookProcessor.parseQueryParam(Exchange exchange)
    private Map<String, String> parseQueryParam(Exchange exchange) {
        Map<String, String> queryParams = new HashMap<>();

        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            String[] pairs = exchange.getIn().getHeader(Exchange.HTTP_QUERY).toString().split("&");
            for (String pair : pairs) {
                String[] keyValuePair = pair.split("=");

                queryParams.put(keyValuePair[0], keyValuePair[1]);
            }
        }

        return queryParams;
    }
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #1164 Negative (Non-Clone)
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #1165 Negative (Non-Clone)
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #1166 Negative (Non-Clone)
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #1167 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
Pair #1168 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 2436_1908
ClassID: 2436
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/XmlHelper.java
Name: org.apache.camel.dsl.jbang.core.common.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
Pair #1169 Negative (Non-Clone)
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
Pair #1170 Negative (Non-Clone)
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
Pair #1171 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 2188_1722
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.transferImage(Exchange exchange)
    private void transferImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);

        if (ObjectHelper.isEmpty(imageId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.ID + " must be specified");
        }

        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().transferImage(imageId, region);
        LOG.trace("Transfer  Image {} to Region {} [{}] ", imageId, region, action);
        exchange.getMessage().setBody(action);
    }
Pair #1172 Negative (Non-Clone)
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #1173 Negative (Non-Clone)
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #1174 Negative (Non-Clone)
ID: 1497_1338
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameNA(String size)
    public MediaSizeName selectMediaSizeNameNA(String size) {
        if (size.equalsIgnoreCase("na_letter")) {
            mediaSizeName = MediaSizeName.NA_LETTER;
        } else if (size.equalsIgnoreCase("na_legal")) {
            mediaSizeName = MediaSizeName.NA_LEGAL;
        } else if (size.equalsIgnoreCase("executive")) {
            mediaSizeName = MediaSizeName.EXECUTIVE;
        } else if (size.equalsIgnoreCase("ledger")) {
            mediaSizeName = MediaSizeName.LEDGER;
        } else if (size.equalsIgnoreCase("tabloid")) {
            mediaSizeName = MediaSizeName.TABLOID;
        } else if (size.equalsIgnoreCase("invoice")) {
            mediaSizeName = MediaSizeName.INVOICE;
        } else if (size.equalsIgnoreCase("folio")) {
            mediaSizeName = MediaSizeName.FOLIO;
        } else if (size.equalsIgnoreCase("quarto")) {
            mediaSizeName = MediaSizeName.QUARTO;
        } else if (size.equalsIgnoreCase("japanese_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_POSTCARD;
        } else if (size.equalsIgnoreCase("oufuko_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_DOUBLE_POSTCARD;
        } else if (size.equalsIgnoreCase("a")) {
            mediaSizeName = MediaSizeName.A;
        } else if (size.equalsIgnoreCase("b")) {
            mediaSizeName = MediaSizeName.B;
        } else if (size.equalsIgnoreCase("c")) {
            mediaSizeName = MediaSizeName.C;
        } else if (size.equalsIgnoreCase("d")) {
            mediaSizeName = MediaSizeName.D;
        } else if (size.equalsIgnoreCase("e")) {
            mediaSizeName = MediaSizeName.E;
        } else if (size.equalsIgnoreCase("iso_designated_long")) {
            mediaSizeName = MediaSizeName.ISO_DESIGNATED_LONG;
        } else if (size.equalsIgnoreCase("italian_envelope")) {
            mediaSizeName = MediaSizeName.ITALY_ENVELOPE;
        } else if (size.equalsIgnoreCase("monarch_envelope")) {
            mediaSizeName = MediaSizeName.MONARCH_ENVELOPE;
        } else if (size.equalsIgnoreCase("personal_envelope")) {
            mediaSizeName = MediaSizeName.PERSONAL_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_9_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_10_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_10_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_11_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_12_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_14_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_6x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_6X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_7x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_7X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x11_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x12_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x13_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X13_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x14_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x15_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X15_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_5x7")) {
            mediaSizeName = MediaSizeName.NA_5X7;
        } else if (size.equalsIgnoreCase("na_8x10")) {
            mediaSizeName = MediaSizeName.NA_8X10;
        } else {
            mediaSizeName = MediaSizeName.NA_LETTER;
        }

        return mediaSizeName;
    }
ID: 3105_2386
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.setInstance(Object instance)
    public void setInstance(Object instance) {
         
        if (instance instanceof Class) {
            this.beanType = (Class<?>) instance;
            this.instance = null;
        } else {
            this.beanType = null;
            this.instance = instance;
        }
    }
Pair #1175 Negative (Non-Clone)
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
ID: 1806_1472
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
    private void runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
            throws DockerException, InterruptedException {
         
        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {

            BuildImageResultCallback item = cmd.exec(new BuildImageResultCallback() {
                @Override
                public void onNext(BuildResponseItem item) {
                    super.onNext(item);

                    LOG.trace("build image callback {}", item);

                    exchange.getIn().setBody(item.getImageId());
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #1176 Negative (Non-Clone)
ID: 2455_1952
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        String context = readResourceTemplate("templates/spring-boot-build-gradle.tmpl");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        String camelVersion = catalog.getLoadedVersion();

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceFirst("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceFirst("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElse(camelSpringBootVersion, camelVersion));

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(am.getVersion());
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(gradleBuild));
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1177 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1178 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
Pair #1179 Negative (Non-Clone)
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #1180 Negative (Non-Clone)
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
ID: 2555_2124
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestVerbDetails detail)
    private static void extractAttributes(Node xmlNode, RestVerbDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setPath(extractAttribute(map, "path"));
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setType(extractAttribute(map, "type"));
        detail.setOutType(extractAttribute(map, "outType"));
    }
Pair #1181 Negative (Non-Clone)
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 2533_2109
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/SagaDownloader.java
Name: org.apache.camel.main.download.SagaDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {

        ProcessorReifier.registerReifier(SagaDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof SagaDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-saga",
                                    route.getCamelContext().getVersion());
                            downloader.downloadDependency("org.apache.camel", "camel-lra",
                                    route.getCamelContext().getVersion());
                        }
                    }
                    main.bind("inMemorySagaService", new InMemorySagaService());
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #1182 Negative (Non-Clone)
ID: 1435_1299
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeCompressedDataEntity parseApplicationPkcs7MimeCompressedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] compressedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeCompressedDataEntity(compressedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
Pair #1183 Negative (Non-Clone)
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 40_58
ClassID: 40
File: systems/camel-java/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
Name: org.apache.camel.openapi.RestOpenApiSupport.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)}");
        Matcher m = p.matcher(url);
        while (m.find()) {
            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #1184 Negative (Non-Clone)
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
ID: 3108_2393
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
Name: org.apache.camel.model.RoutesDefinition.createRoute()
    protected RouteDefinition createRoute() {
        RouteDefinition route = new RouteDefinition();
        route.setCamelContext(getCamelContext());
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            route.setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            route.setResource(resource);
        }
        return route;
    }
Pair #1185 Negative (Non-Clone)
ID: 3164_2421
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPollEnricher.java
Name: org.apache.camel.management.mbean.ManagedPollEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #1186 Negative (Non-Clone)
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #1187 Negative (Non-Clone)
ID: 1332_1237
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestAggregationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestAggregationStreamObserver.onCompleted()
    public void onCompleted() {
        CountDownLatch latch = new CountDownLatch(1);

        exchange.getIn().setBody(requestList);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> {
            latch.countDown();
        });

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
            responseObserver.onCompleted();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);
        }
    }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #1188 Negative (Non-Clone)
ID: 2453_1948
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getSupportLevel(Object kamelet)
    private static String getSupportLevel(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getAnnotations");
        @SuppressWarnings("unchecked")
        Map<String, String> anns = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (anns != null) {
            return anns.get("camel.apache.org/kamelet.support.level");
        }
        return null;
    }
ID: 2327_1834
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentFromExchange(Exchange exchange)
    private Document createDocumentFromExchange(Exchange exchange) throws InvalidPayloadException {
         
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isNotEmpty(s3Bucket) && ObjectHelper.isNotEmpty(s3Object)) {
            S3Object.Builder s3ObjectBuilder = S3Object.builder()
                    .bucket(s3Bucket)
                    .name(s3Object);

            String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
            if (ObjectHelper.isEmpty(s3ObjectVersion)) {
                s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
            }
            if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
                s3ObjectBuilder.version(s3ObjectVersion);
            }

            return Document.builder()
                    .s3Object(s3ObjectBuilder.build())
                    .build();
        } else {
             
            byte[] documentBytes = exchange.getIn().getMandatoryBody(byte[].class);
            return Document.builder()
                    .bytes(SdkBytes.fromByteArray(documentBytes))
                    .build();
        }
    }
Pair #1189 Negative (Non-Clone)
ID: 1311_1199
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doListJobByLabel(Exchange exchange)
    protected void doListJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get Job by labels require specify a labels set");
            throw new IllegalArgumentException("Get Job by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().withLabels(labels).list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #1190 Negative (Non-Clone)
ID: 2187_1718
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.getKey(Exchange exchange)
    private void getKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Key key;

        if (ObjectHelper.isNotEmpty(keyId)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }
        LOG.trace("Key [{}] ", key);
        exchange.getMessage().setBody(key);
    }
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #1191 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #1192 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 184_176
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "queryAll/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
Pair #1193 Negative (Non-Clone)
ID: 2598_2213
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getEnum(final int index)
    public <T extends Enum<T>> T getEnum(final int index) throws ClassNotFoundException {
         
        T returnable;
        final String element;
        final String[] splitValues;
        final int numberOfValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        element = this.getString(index);
        if (element == null) {
            return null;
        }
         
        splitValues = element.split("\\.");
        numberOfValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfValues; i++) {
            if (i == (numberOfValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #1194 Negative (Non-Clone)
ID: 184_175
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "query/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1195 Negative (Non-Clone)
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #1196 Negative (Non-Clone)
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1197 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 3160_2404
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
        if (counter1.isStatisticsEnabled()) {
            counter1.completedExchange(exchange, time);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.completedExchange(exchange, time);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.completedExchange(exchange, time);
        }
    }
Pair #1198 Negative (Non-Clone)
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
Pair #1199 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 1275_1120
ClassID: 1275
File: systems/camel-java/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
Name: org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #1200 Negative (Non-Clone)
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
Pair #1201 Negative (Non-Clone)
ID: 3179_2456
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument("utf-8", "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                writer.writeAttribute(
                                        reader.getAttributePrefix(i), reader.getAttributeNamespace(i),
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                writer.writeNamespace(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 1938_1588
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doInit()
    protected void doInit() throws Exception {
        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #1202 Negative (Non-Clone)
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
Pair #1203 Negative (Non-Clone)
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 1690_1413
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            if (camelContext == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    camelContext = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts != null && contexts.size() == 1) {
                        camelContext = contexts.values().iterator().next();
                    }
                }
            }
            return camelContext;
        }
Pair #1204 Negative (Non-Clone)
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
Pair #1205 Negative (Non-Clone)
ID: 1033_883
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
Name: org.apache.camel.component.undertow.UndertowEndpoint.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList<>();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, getEndpointUri())) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
        if (this.securityProvider == null) {
            this.securityProvider = getComponent().getSecurityProvider();
        }
    }
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #1206 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #1207 Negative (Non-Clone)
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
Pair #1208 Negative (Non-Clone)
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1209 Negative (Non-Clone)
ID: 2635_2268
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStop()
    protected void doStop() throws Exception {
        if (contextServicePlugins != null) {
            for (ContextServicePlugin plugin : contextServicePlugins) {
                try {
                    plugin.unload(camelContext);
                } catch (Exception e) {
                    LOG.warn(
                            "Unloading of plugin {} failed, however the exception will be ignored so shutdown can continue. Reason: {}",
                            plugin.getClass().getName(), e.getMessage(), e);
                }
            }
        }
    }
ID: 921_792
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsub.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #1210 Negative (Non-Clone)
ID: 2564_2140
ClassID: 2564
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.apiMethodAlias(ApiModel api, ApiMethodModel method)
    private static String apiMethodAlias(ApiModel api, ApiMethodModel method) {
        String name = method.getName();
        for (String alias : api.getAliases()) {
            int pos = alias.indexOf('=');
            String pattern = alias.substring(0, pos);
            String aliasMethod = alias.substring(pos + 1);
             
            if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) {
                return aliasMethod;
            }
        }
        return null;
    }
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #1211 Negative (Non-Clone)
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1139_983
ClassID: 1139
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
Name: org.apache.camel.component.github.GitHubEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (type == GitHubType.CLOSEPULLREQUEST) {
            return new ClosePullRequestProducer(this);
        } else if (type == GitHubType.PULLREQUESTCOMMENT) {
            return new PullRequestCommentProducer(this);
        } else if (type == GitHubType.PULLREQUESTSTATE) {
            return new PullRequestStateProducer(this);
        } else if (type == GitHubType.PULLREQUESTFILES) {
            return new PullRequestFilesProducer(this);
        } else if (type == GitHubType.GETCOMMITFILE) {
            return new GetCommitFileProducer(this);
        } else if (type == GitHubType.CREATEISSUE) {
            return new CreateIssueProducer(this);
        }
        throw new IllegalArgumentException("Cannot create producer with type " + type);
    }
Pair #1212 Negative (Non-Clone)
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1213 Negative (Non-Clone)
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #1214 Negative (Non-Clone)
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
Pair #1215 Negative (Non-Clone)
ID: 1107_939
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(IAMProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No operation name given. Cannot proceed with IAM operations.");
            }
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.OPERATION))
                            ? (String) exchange.getProperty(IAMProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                || ObjectHelper.isNotEmpty(endpoint.getUserId())) {
            clientConfigurations.setUserId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                            ? (String) exchange.getProperty(IAMProperties.USER_ID)
                            : endpoint.getUserId());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                || ObjectHelper.isNotEmpty(endpoint.getGroupId())) {
            clientConfigurations.setGroupId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                            ? (String) exchange.getProperty(IAMProperties.GROUP_ID)
                            : endpoint.getGroupId());
        }
    }
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
Pair #1216 Negative (Non-Clone)
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
Pair #1217 Negative (Non-Clone)
ID: 681_613
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #1218 Negative (Non-Clone)
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 701_643
ClassID: 701
File: systems/camel-java/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
Name: org.apache.camel.component.jolt.JoltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JoltEndpoint answer = new JoltEndpoint(uri, this, remaining);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setContentCache(cache);
        answer.setTransform(transform);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #1219 Negative (Non-Clone)
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
Pair #1220 Negative (Non-Clone)
ID: 1913_1574
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.startRouteImpl(Route route)
    private void startRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Stopped) {
            LOG.info("Starting {}", route.getId());
            startRoute(route);
        } else if (routeStatus == ServiceStatus.Suspended) {
            LOG.info("Resuming {}", route.getId());
            startConsumer(route.getConsumer());
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
ID: 3164_2423
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEnricher.java
Name: org.apache.camel.management.mbean.ManagedEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1221 Negative (Non-Clone)
ID: 3272_2645
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri)
    public static InputStream resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri) throws IOException {
        InputStream is = resolveResourceAsInputStream(camelContext, uri);
        if (is == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " for URI: " + uri);
        } else {
            return is;
        }
    }
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
Pair #1222 Negative (Non-Clone)
ID: 2187_1718
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.getKey(Exchange exchange)
    private void getKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Key key;

        if (ObjectHelper.isNotEmpty(keyId)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }
        LOG.trace("Key [{}] ", key);
        exchange.getMessage().setBody(key);
    }
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
Pair #1223 Negative (Non-Clone)
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
Pair #1224 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 740_666
ClassID: 740
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseTokens()
    protected List<SimpleNode> parseTokens() {
        clear();

         
        nextToken();
        while (!token.getType().isEol()) {
             
            templateText();
            functionText();
            unaryOperator();
            nextToken();
        }

         
         
         

         
        parseAndCreateAstModel();
         
        prepareBlocks();
         
        prepareUnaryExpressions();

        return nodes;
    }
Pair #1225 Negative (Non-Clone)
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #1226 Negative (Non-Clone)
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
Pair #1227 Negative (Non-Clone)
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
Pair #1228 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 1405_1256
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSmTemplate(Exchange exchange)
    protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitSm submitSm = new SubmitSm();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitSm.setDataCoding(config.getDataCoding());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            submitSm.setDestAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            submitSm.setDestAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            submitSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            submitSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            submitSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            submitSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitSm.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitSm.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitSm.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitSm.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitSm.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitSm.setReplaceIfPresent(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitSm.setReplaceIfPresent(config.getReplaceIfPresentFlag());
        }

        submitSm.setEsmClass(new ESMClass().value());

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitSm.setOptionalParameters();
            }
        }

        return submitSm;
    }
Pair #1229 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
Pair #1230 Negative (Non-Clone)
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1231 Negative (Non-Clone)
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1232 Negative (Non-Clone)
ID: 1035_887
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.add(final String uriTemplate, final CamelMethodHandler handler)
    public CamelPathTemplateHandler add(final String uriTemplate, final CamelMethodHandler handler) {
        lock.lock();
        try {
            delegate.add(uriTemplate, handler);
            handlers.put(uriTemplate, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #1233 Negative (Non-Clone)
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
ID: 1856_1514
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #1234 Negative (Non-Clone)
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
Pair #1235 Negative (Non-Clone)
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 1738_1449
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketClientConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketClientConsumer.processExchange(Exchange exchange)
    protected void processExchange(Exchange exchange) {
        Vertx vertx = getEndpoint().getVertx();
        vertx.executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
Pair #1236 Negative (Non-Clone)
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1237 Negative (Non-Clone)
ID: 1859_1521
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 3112_2400
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.replace()
    public ProcessorDefinition<?> replace() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #1238 Negative (Non-Clone)
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
ID: 2047_1663
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentRename(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentRename(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRenameRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentRenameRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #1239 Negative (Non-Clone)
ID: 2614_2261
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateMainModel(JsonObject obj)
    public static MainModel generateMainModel(JsonObject obj) {
        MainModel model = new MainModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            MainGroupModel group = new MainGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            MainOptionModel option = new MainOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #1240 Negative (Non-Clone)
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #1241 Negative (Non-Clone)
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
Pair #1242 Negative (Non-Clone)
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #1243 Negative (Non-Clone)
ID: 2107_1703
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStreamCallback(Exchange exchange)
    protected DataStreamCallback resolveDataStreamCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER) != null) {
            return (DataStreamCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER);
        } else if (getEndpoint().getDataStreamCallback() != null) {
            return getEndpoint().getDataStreamCallback();
        } else {
            throw new IllegalArgumentException("Cannot resolve DataStream callback.");
        }
    }
ID: 2586_2188
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateEndpointConfigurer(Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateEndpointConfigurer(
            Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes,
            ComponentModel componentModel, ComponentModel parentData) {
        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();

        String pfqn;
        boolean hasSuper;
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
            try {
                pfqn = classElement.getSuperclass().getName() + "Configurer";
                hasSuper = true;
            } catch (NoClassDefFoundError e) {
                pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
                hasSuper = false;
                parentData = null;
            }
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqEndpointClassName = classElement.getName();
        String endpointClassName = fqEndpointClassName.substring(fqEndpointClassName.lastIndexOf('.') + 1);
        String className = endpointClassName + "Configurer";
        String packageName = fqEndpointClassName.substring(0, fqEndpointClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<EndpointOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getEndpointParameterOptions().stream()
                    .map(EndpointOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getEndpointParameterOptions().stream()
                    .filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getEndpointParameterOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, endpointClassName,
                pfqn, psn,
                componentModel.getScheme() + "-endpoint", hasSuper, false,
                options, componentModel);
    }
Pair #1244 Negative (Non-Clone)
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1245 Negative (Non-Clone)
ID: 2107_1703
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStreamCallback(Exchange exchange)
    protected DataStreamCallback resolveDataStreamCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER) != null) {
            return (DataStreamCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER);
        } else if (getEndpoint().getDataStreamCallback() != null) {
            return getEndpoint().getDataStreamCallback();
        } else {
            throw new IllegalArgumentException("Cannot resolve DataStream callback.");
        }
    }
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #1246 Negative (Non-Clone)
ID: 3105_2387
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.instance(Object instance)
        public Builder instance(Object instance) {
             
            if (instance instanceof Class) {
                this.beanType = (Class<?>) instance;
                this.instance = null;
            } else {
                this.beanType = null;
                this.instance = instance;
            }
            return this;
        }
ID: 1572_1382
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.charsetDecoder(IoSession session)
    private CharsetDecoder charsetDecoder(IoSession session) {
        synchronized (session) {
            CharsetDecoder decoder = (CharsetDecoder) session.getAttribute(CHARSET_DECODER);
            if (decoder == null) {
                decoder = config.getCharset().newDecoder()
                        .onMalformedInput(config.getMalformedInputErrorAction())
                        .onUnmappableCharacter(config.getUnmappableCharacterErrorAction());
                session.setAttribute(CHARSET_DECODER, decoder);
            }
            return decoder;
        }
    }
Pair #1247 Negative (Non-Clone)
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
Pair #1248 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1249 Negative (Non-Clone)
ID: 2509_2062
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.implementType(ClassInfo ci, DotName interfaceType)
    protected boolean implementType(ClassInfo ci, DotName interfaceType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(interfaceType)) {
            return true;
        }

        for (DotName name : ci.interfaceNames()) {
            if (name.equals(interfaceType)) {
                return true;
            }
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return implementType(
                    view.getClassByName(superName),
                    interfaceType);
        }

        return false;
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #1250 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1251 Negative (Non-Clone)
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #1252 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1253 Negative (Non-Clone)
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
ID: 1033_884
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, null)) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
    }
Pair #1254 Negative (Non-Clone)
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 104_89
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak keycloakClient, Exchange exchange)
    private void createClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().create((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientRepresentation client = new ClientRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID))) {
                String clientId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID, String.class);
                client.setClientId(clientId);
                client.setEnabled(true);
            } else {
                throw new IllegalArgumentException(MISSING_CLIENT_ID);
            }
            Response response = keycloakClient.realm(realmName).clients().create(client);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #1255 Negative (Non-Clone)
ID: 701_645
ClassID: 701
File: systems/camel-java/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java
Name: org.apache.camel.component.stringtemplate.StringTemplateComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining);
        answer.setContentCache(contentCache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2668_2353
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
Pair #1256 Negative (Non-Clone)
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #1257 Negative (Non-Clone)
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 2229_1746
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemove(Exchange exchange, String operation)
    protected void doRemove(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.rm().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #1258 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 2472_2010
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVariable.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListVariable.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jv = (JsonObject) root.get("variables");
                        if (jv != null) {
                            for (String id : jv.keySet()) {
                                JsonArray arr = jv.getCollection(id);
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.id = id;
                                        row.key = jo.getString("key");
                                        row.type = jo.getString("type");
                                        row.value = jo.get("value");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("REPO").headerAlign(HorizontalAlign.CENTER).with(r -> r.id),
                    new Column().header("TYPE").headerAlign(HorizontalAlign.CENTER)
                            .maxWidth(40, OverflowBehaviour.ELLIPSIS_LEFT).with(r -> r.type),
                    new Column().header("KEY").dataAlign(HorizontalAlign.LEFT).maxWidth(50, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.key),
                    new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).maxWidth(80, OverflowBehaviour.NEWLINE)
                            .with(this::getValue))));
        }

        return 0;
    }
Pair #1259 Negative (Non-Clone)
ID: 124_113
ClassID: 124
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config)
    private void configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config) {
        if (!parseBoolean(config.getTimeoutEnabled(), false)) {
            return;
        }

        if (config.getTimeoutExecutorService() != null) {
            String ref = config.getTimeoutExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #1260 Negative (Non-Clone)
ID: 1692_1417
ClassID: 1692
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Name: org.apache.camel.spring.spi.SpringInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
ID: 2026_1645
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object url = props.get("brokerURL");
        if (url != null) {
            return url.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getBrokerURLFromConnectionFactory(bi, ncf);
            }
        }
        return artemisBrokerURL(cf);
    }
Pair #1261 Negative (Non-Clone)
ID: 2658_2331
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int headerIndex = 0;
            for (Expression expression : expressions) {
                Object newHeader = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                Message message = exchange.getMessage();
                String key = headerNames.get(headerIndex++).evaluate(exchange, String.class);
                message.setHeader(key, newHeader);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
Pair #1262 Negative (Non-Clone)
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #1263 Negative (Non-Clone)
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1264 Negative (Non-Clone)
ID: 438_454
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(true);
            if (producer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
Pair #1265 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
Pair #1266 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
Pair #1267 Negative (Non-Clone)
ID: 2439_1914
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getObjectName(String uriExpression)
    protected String getObjectName(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[1];
        }

        return namespacedName;
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1268 Negative (Non-Clone)
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 3246_2580
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFluentProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean.getObject()
    public FluentProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultFluentProducerTemplate(context);
                template.setDefaultEndpoint(endpoint);
            }
        } else {
            template = new DefaultFluentProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #1269 Negative (Non-Clone)
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #1270 Negative (Non-Clone)
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
Pair #1271 Negative (Non-Clone)
ID: 2231_1752
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateTag(String operation)
    protected void doCreateTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tag().setName(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #1272 Negative (Non-Clone)
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #1273 Negative (Non-Clone)
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #1274 Negative (Non-Clone)
ID: 3160_2403
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.processExchange(Exchange exchange, String type)
    public void processExchange(Exchange exchange, String type) {
        if (counter1.isStatisticsEnabled()) {
            counter1.processExchange(exchange, type);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.processExchange(exchange, type);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.processExchange(exchange, type);
        }
    }
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1275 Negative (Non-Clone)
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
ID: 110_101
ClassID: 110
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpPluginRegistry.java
Name: org.apache.camel.component.platform.http.PlatformHttpPluginRegistry.register(PlatformHttpPlugin plugin)
    public boolean register(PlatformHttpPlugin plugin) {
        if (getPlugin(plugin.getId()).isPresent()) {
            return false;
        }

        boolean result = plugins.add(plugin);
        if (result) {
            CamelContextAware.trySetCamelContext(plugin, camelContext);
            ServiceHelper.startService(plugin);
            LOG.debug("platform-http-plugin with id {} successfully registered", plugin.getId());
        }
        return result;
    }
Pair #1276 Negative (Non-Clone)
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1277 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
Pair #1278 Negative (Non-Clone)
ID: 1885_1553
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.setupVmProtocol(MinaConfiguration configuration)
    protected void setupVmProtocol(MinaConfiguration configuration) {

        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        acceptor = new VmPipeAcceptor();

         
        configureCodecFactory("MinaConsumer", acceptor, configuration);
        if (minaLogger) {
            acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, acceptor.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
    }
ID: 27_45
ClassID: 27
File: systems/camel-java/components/camel-nitrite/src/generated/java/org/apache/camel/component/nitrite/NitriteTypeConvertersLoader.java
Name: org.apache.camel.component.nitrite.NitriteTypeConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.List.class, org.dizitart.no2.Cursor.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromCursorToList((org.dizitart.no2.Cursor) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.dizitart.no2.Document.class, java.util.Map.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromMapToDocument((java.util.Map) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1279 Negative (Non-Clone)
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 1195_1023
ClassID: 1195
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        String keyPrefix = type.getName().replace('$', '/');
        Set<T> result = new HashSet<>();

        List<String> keys;
        try {
            keys = kvClient.getKeys(keyPrefix);
        } catch (ConsulException e) {
            return result;
        }

        if (keys != null) {
            Object obj;

            for (String key : keys) {
                 
                key = key.substring(key.lastIndexOf('/') + 1);
                obj = lookupByName(key.replace('$', '/'));
                if (type.isInstance(obj)) {
                    result.add(type.cast(obj));
                }
            }
        }
        return result;
    }
Pair #1280 Negative (Non-Clone)
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #1281 Negative (Non-Clone)
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
Pair #1282 Negative (Non-Clone)
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
Pair #1283 Negative (Non-Clone)
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
ID: 982_841
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameterSrc()
  final public Token InParameterSrc() throws ParseException {Token ret = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SIMPLE_EXP_TOKEN:{
      ret = jj_consume_token(SIMPLE_EXP_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    case PARAMETER_POS_TOKEN:{
      ret = jj_consume_token(PARAMETER_POS_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    default:
      jj_la1[11] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
}
Pair #1284 Negative (Non-Clone)
ID: 2231_1752
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateTag(String operation)
    protected void doCreateTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tag().setName(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
Pair #1285 Negative (Non-Clone)
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #1286 Negative (Non-Clone)
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1287 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
Pair #1288 Negative (Non-Clone)
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #1289 Negative (Non-Clone)
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #1290 Negative (Non-Clone)
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #1291 Negative (Non-Clone)
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #1292 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #1293 Negative (Non-Clone)
ID: 2421_1900
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-route-parser/src/main/java/org/apache/camel/dsl/jbang/core/commands/parser/RouteParserCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.parser.RouteParserCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #1294 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #1295 Negative (Non-Clone)
ID: 1558_1379
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3161_2408
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedStep(String id)
    public ManagedStepMBean getManagedStep(String id) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForStep(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #1296 Negative (Non-Clone)
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #1297 Negative (Non-Clone)
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #1298 Negative (Non-Clone)
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1299 Negative (Non-Clone)
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
Pair #1300 Negative (Non-Clone)
ID: 498_525
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsClientFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsClientFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name) || "headers".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "providers".equals(name)
                || "schemaLocations".equals(name) || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
ID: 1130_968
ClassID: 1130
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.purge()
        protected void purge() {
             
            if (lock != null) {
                 
                lock.lock();
                try {
                    super.purge();
                } finally {
                    lock.unlock();
                }
            }
        }
Pair #1301 Negative (Non-Clone)
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
Pair #1302 Negative (Non-Clone)
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
Pair #1303 Negative (Non-Clone)
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 1309_1166
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.eventReceived(Action action, GenericKubernetesResource resource)
                            public void eventReceived(Action action, GenericKubernetesResource resource) {
                                Exchange exchange = createExchange(false);
                                exchange.getIn().setBody(Serialization.asJson(resource));
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_ACTION, action);
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_TIMESTAMP,
                                        System.currentTimeMillis());
                                try {
                                    processor.process(exchange);
                                } catch (Exception e) {
                                    getExceptionHandler().handleException("Error during processing", exchange, e);
                                } finally {
                                    releaseExchange(exchange, false);
                                }
                            }
Pair #1304 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #1305 Negative (Non-Clone)
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 257_336
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
Name: org.apache.camel.component.google.mail.stream.GoogleMailStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange, unreadLabelId);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange, unreadLabelId);
                }

                @Override
                public String toString() {
                    return "GoogleMailStreamConsumerOnCompletion";
                }
            });

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #1306 Negative (Non-Clone)
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #1307 Negative (Non-Clone)
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1308 Negative (Non-Clone)
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #1309 Negative (Non-Clone)
ID: 1511_1354
ClassID: 1511
File: systems/camel-java/components/camel-exec/src/generated/java/org/apache/camel/component/exec/ExecResultConverterLoader.java
Name: org.apache.camel.component.exec.ExecResultConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToByteArray((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToInputStream((org.apache.camel.component.exec.ExecResult) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToString((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Document.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToDocument((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
Pair #1310 Negative (Non-Clone)
ID: 229_273
ClassID: 229
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.smb.strategy.SmbChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file,
            Exchange exchange) {

        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("smb-acquire-exclusive-read-lock")
                .build();

        SmbExclusiveReadLockCheck exclusiveReadLockCheck = new SmbExclusiveReadLockCheck(minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }
        return true;
    }
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #1311 Negative (Non-Clone)
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #1312 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #1313 Negative (Non-Clone)
ID: 3110_2396
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesAdapter.java
Name: org.apache.camel.model.app.BeanPropertiesAdapter.marshal(Map<String, Object> v)
    public BeanPropertiesDefinition marshal(Map<String, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanPropertyDefinition[] result = new BeanPropertyDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<String, Object> entry : v.entrySet()) {
            String k = entry.getKey();
            Object value = entry.getValue();
            BeanPropertyDefinition pd = new BeanPropertyDefinition();
            pd.setKey(k);
            if (value instanceof Map) {
                pd.setProperties(marshal((Map<String, Object>) value));
            } else {
                pd.setValue(value.toString());
            }
            result[pos++] = pd;
        }
        BeanPropertiesDefinition propertiesDefinition = new BeanPropertiesDefinition();
        propertiesDefinition.setProperties(Arrays.asList(result));
        return propertiesDefinition;
    }
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
Pair #1314 Negative (Non-Clone)
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #1315 Negative (Non-Clone)
ID: 617_556
ClassID: 617
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.buildProducer()
    protected GenericFileProducer<FTPFile> buildProducer() {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new RemoteFileProducer<>(this, createRemoteFileOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
Pair #1316 Negative (Non-Clone)
ID: 1807_1484
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTopContainerRequest(DockerClient client, Message message)
    private TopContainerCmd executeTopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Top Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        TopContainerCmd topContainerCmd = client.topContainerCmd(containerId);

        String psArgs = DockerHelper.getProperty(DockerConstants.DOCKER_PS_ARGS, configuration, message, String.class);

        if (psArgs != null) {
            topContainerCmd.withPsArgs(psArgs);
        }

        return topContainerCmd;

    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1317 Negative (Non-Clone)
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #1318 Negative (Non-Clone)
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #1319 Negative (Non-Clone)
ID: 3109_2395
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
Name: org.apache.camel.model.TemplatedRoutesDefinition.createTemplatedRouteDefinition(String id)
    protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
        TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
        if (id != null) {
            templatedRoute.setRouteTemplateRef(id);
        }
        if (resource != null) {
            templatedRoute.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
        return templatedRoute;
    }
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
Pair #1320 Negative (Non-Clone)
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1321 Negative (Non-Clone)
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
Pair #1322 Negative (Non-Clone)
ID: 1863_1532
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 834_713
ClassID: 834
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanStart()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
Pair #1323 Negative (Non-Clone)
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1324 Negative (Non-Clone)
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
Pair #1325 Negative (Non-Clone)
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 1913_1574
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.startRouteImpl(Route route)
    private void startRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Stopped) {
            LOG.info("Starting {}", route.getId());
            startRoute(route);
        } else if (routeStatus == ServiceStatus.Suspended) {
            LOG.info("Resuming {}", route.getId());
            startConsumer(route.getConsumer());
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
Pair #1326 Negative (Non-Clone)
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #1327 Negative (Non-Clone)
ID: 781_708
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeUrl(Exchange exchange)
    private void analyzeUrl(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String url = exchange.getIn().getHeader(WatsonLanguageConstants.URL, String.class);
        if (url == null) {
            url = exchange.getIn().getBody(String.class);
        }

        if (url == null || url.isBlank()) {
            throw new IllegalArgumentException("URL to analyze must be specified");
        }

        LOG.trace("Analyzing URL with NLU: {}", url);

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .url(url)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #1328 Negative (Non-Clone)
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 2533_2109
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/SagaDownloader.java
Name: org.apache.camel.main.download.SagaDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {

        ProcessorReifier.registerReifier(SagaDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof SagaDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-saga",
                                    route.getCamelContext().getVersion());
                            downloader.downloadDependency("org.apache.camel", "camel-lra",
                                    route.getCamelContext().getVersion());
                        }
                    }
                    main.bind("inMemorySagaService", new InMemorySagaService());
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #1329 Negative (Non-Clone)
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
Pair #1330 Negative (Non-Clone)
ID: 119_111
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPublicKeyName(String publicKeyName)
    public void setPublicKeyName(String publicKeyName) {
        if (context != null && publicKeyName != null) {
            PublicKey pk = context.getRegistry().lookupByNameAndType(publicKeyName, PublicKey.class);
            if (pk != null) {
                setPublicKey(pk);
            }
        }
        if (publicKeyName != null) {
            this.publicKeyName = publicKeyName;
        }
    }
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1331 Negative (Non-Clone)
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
Pair #1332 Negative (Non-Clone)
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 3221_2506
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SingleQuoteStart.java
Name: org.apache.camel.language.simple.ast.SingleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #1333 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
Pair #1334 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
Pair #1335 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #1336 Negative (Non-Clone)
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
ID: 2647_2304
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, Object target, String name, Object value)
    public boolean setProperty(CamelContext context, Object target, String name, Object value) throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, target, name, value);
    }
Pair #1337 Negative (Non-Clone)
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2296_1817
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildAsyncClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkAsyncClientBuilder<B, C>, C extends SdkClient> C buildAsyncClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        NettyNioAsyncHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring async proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            software.amazon.awssdk.http.nio.netty.ProxyConfiguration proxyConfig
                    = software.amazon.awssdk.http.nio.netty.ProxyConfiguration.builder()
                            .scheme(config.getProxyProtocol().toString())
                            .host(config.getProxyHost())
                            .port(config.getProxyPort())
                            .build();
            httpClientBuilder = NettyNioAsyncHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = NettyNioAsyncHttpClient.builder();
            }
            SdkAsyncHttpClient asyncHttpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(asyncHttpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #1338 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
Pair #1339 Negative (Non-Clone)
ID: 174_141
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatch(InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatch(
            InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        post.body(new InputStreamRequestContent(batchStream));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(contentTypeEnum) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 3218_2500
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasFallbackConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasFallbackConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidFallbackConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method is not "
                         + "a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method "
                             + "returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    if (isStatic(modifiers)) {
                        registerFallbackTypeConverter(registry,
                                new StaticMethodFallbackTypeConverter(method, registry, allowNull), method);
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerFallbackTypeConverter(registry,
                                new InstanceMethodFallbackTypeConverter(injector, method, registry, allowNull), method);
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method should have "
                     + "one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
Pair #1340 Negative (Non-Clone)
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
Pair #1341 Negative (Non-Clone)
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 378_414
ClassID: 378
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
        public Destination resolveDestinationName(
                Session session, String destinationName,
                boolean pubSubDomain)
                throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.resolveDestinationName(session, destinationName, pubSubDomain);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
Pair #1342 Negative (Non-Clone)
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 2296_1816
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkSyncClientBuilder<B, C>, C extends SdkClient> C buildClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        ApacheHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            URI proxyEndpoint = URI.create(
                    config.getProxyProtocol() + "://" + config.getProxyHost() + ":" + config.getProxyPort());
            ProxyConfiguration proxyConfig = ProxyConfiguration.builder()
                    .endpoint(proxyEndpoint)
                    .build();
            httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = ApacheHttpClient.builder();
            }
            SdkHttpClient httpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(httpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #1343 Negative (Non-Clone)
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
ID: 2479_2027
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #1344 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 1977_1618
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.ZooQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #1345 Negative (Non-Clone)
ID: 2042_1650
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getDirectoryPermissions()
    public Set<PosixFilePermission> getDirectoryPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmodDirectory)) {
            return permissions;
        }

         
        String chmodString = chmodDirectory.substring(chmodDirectory.length() - 3);

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
Pair #1346 Negative (Non-Clone)
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
Pair #1347 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #1348 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 3220_2505
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            key = key.toUpperCase(Locale.ENGLISH).replace('-', '_');

             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);

            if (host != null && port != null) {
                return host + ":" + port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #1349 Negative (Non-Clone)
ID: 104_92
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createRole(Keycloak keycloakClient, Exchange exchange)
    private void createRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Role created successfully");
        }
    }
ID: 924_799
ClassID: 924
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.asTypeName(Class<?> classType)
    protected String asTypeName(Class<?> classType) {
         
         
         
         
         
         
         
         

        String type;

        if (classType.isArray()) {
            type = classType.getComponentType().getName() + "[]";
        } else {
            type = classType.getName();
        }

        return type;
    }
Pair #1350 Negative (Non-Clone)
ID: 3294_2699
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactorySSLSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLSocket>> getSSLSocketFactorySSLSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLSocket> sslSocketConfigurer = new Configurer<>() {

            @Override
            public SSLSocket configure(SSLSocket socket) {

                if (!getSNIHostNames().isEmpty()) {
                    SSLParameters sslParameters = socket.getSSLParameters();
                    sslParameters.setServerNames(getSNIHostNames());
                    socket.setSSLParameters(sslParameters);
                }

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSSLParameters().getCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);
                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSSLParameters().getCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSSLParameters().getProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSSLParameters().getProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLSocket>> sslSocketConfigurers = new LinkedList<>();
        sslSocketConfigurers.add(sslSocketConfigurer);

        return sslSocketConfigurers;
    }
ID: 1915_1580
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #1351 Negative (Non-Clone)
ID: 239_297
ClassID: 239
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #1352 Negative (Non-Clone)
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
Pair #1353 Negative (Non-Clone)
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
Pair #1354 Negative (Non-Clone)
ID: 3261_2621
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        Set<T> answer = new LinkedHashSet<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.add(type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }
        return answer;
    }
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #1355 Negative (Non-Clone)
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
Pair #1356 Negative (Non-Clone)
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #1357 Negative (Non-Clone)
ID: 196_225
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        Message inboundMessage = exchange.getIn();
        Map<String, Object> outboundHeaders = out.getHeaders();
        outboundHeaders.putAll(inboundMessage.getHeaders());
        outboundHeaders.putAll(headers);

         
        callback.done(false);
    }
ID: 2508_2060
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.methods(ClassInfo ci)
    protected Set<MethodInfo> methods(ClassInfo ci) {
        Set<MethodInfo> methods = new TreeSet<>(Comparator.comparing(MethodInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            methods.addAll(current.methods());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return methods;
    }
Pair #1358 Negative (Non-Clone)
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #1359 Negative (Non-Clone)
ID: 1431_1288
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeCompressedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeCompressedDataEntity applicationPkcs7MimeCompressedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeCompressedDataEntity
                    = parseApplicationPkcs7MimeCompressedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeCompressedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeCompressedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 2609_2242
ClassID: 2609
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        ObjectHelper.notNull(clazz, "Class must not be null");
        ObjectHelper.notNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #1360 Negative (Non-Clone)
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1106_937
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        UpdateUserOption userOption;
        if (body instanceof UpdateUserOption) {
            userOption = (UpdateUserOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                userOption = new ObjectMapper().readValue(strBody, UpdateUserOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or UpdateUserOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to update user");
        }

         
        UpdateUserRequestBody requestBody = new UpdateUserRequestBody()
                .withUser(userOption);
        UpdateUserRequest request = new UpdateUserRequest()
                .withBody(requestBody)
                .withUserId(clientConfigurations.getUserId());
        UpdateUserResponse response = iamClient.updateUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #1361 Negative (Non-Clone)
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
ID: 2421_1902
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
Pair #1362 Negative (Non-Clone)
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
Pair #1363 Negative (Non-Clone)
ID: 1429_1284
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryCloseDelimiter = "--" + boundary + "--";  
         
         
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryCloseDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryCloseDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryCloseDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #1364 Negative (Non-Clone)
ID: 3179_2456
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument("utf-8", "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                writer.writeAttribute(
                                        reader.getAttributePrefix(i), reader.getAttributeNamespace(i),
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                writer.writeNamespace(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #1365 Negative (Non-Clone)
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #1366 Negative (Non-Clone)
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
Pair #1367 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 188_196
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportDescription(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportDescription(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportDescription(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportDescriptionResponseCallback() {
                    @Override
                    public void onResponse(
                            ReportDescription reportDescription, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportDescription, headers, ex, callback);
                    }
                });
    }
Pair #1368 Negative (Non-Clone)
ID: 2638_2276
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(String endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            String endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 239_297
ClassID: 239
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1369 Negative (Non-Clone)
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #1370 Negative (Non-Clone)
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #1371 Negative (Non-Clone)
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
ID: 998_850
ClassID: 998
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo4Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo4Configuration endpointConfiguration = createEndpointConfiguration(Olingo4ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo4ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1372 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 406_437
ClassID: 406
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
Name: org.apache.camel.component.couchbase.CouchbaseEndpoint.CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component)
    public CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component) throws URISyntaxException {
        super(uri, component);
        URI remainingUri = new URI(remaining);

        protocol = remainingUri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }

        port = remainingUri.getPort() == -1 ? DEFAULT_COUCHBASE_PORT : remainingUri.getPort();

        hostname = remainingUri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }
    }
Pair #1373 Negative (Non-Clone)
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 284_350
ClassID: 284
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        JsonNode answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.JSON.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #1374 Negative (Non-Clone)
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
ID: 1036_891
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removePrefixPath(final String path)
    public PathHandler removePrefixPath(final String path) {
        lock.lock();
        try {
            super.removePrefixPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1375 Negative (Non-Clone)
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #1376 Negative (Non-Clone)
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1377 Negative (Non-Clone)
ID: 3291_2692
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("KeyManagersParameters[keyStore=");
        builder.append(keyStore);
        builder.append(", keyPassword=");
        builder.append("********");
        builder.append(", provider=");
        builder.append(provider);
        builder.append(", algorithm=");
        builder.append(algorithm);
        builder.append("]");
        return builder.toString();
    }
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #1378 Negative (Non-Clone)
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
ID: 482_506
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #1379 Negative (Non-Clone)
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
Pair #1380 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1381 Negative (Non-Clone)
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #1382 Negative (Non-Clone)
ID: 1691_1416
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper(camelContext) {

                    @Override
                    public CamelContext getCamelContext() {
                        CamelContext answer = CamelBeanPostProcessor.this.camelContext;
                        if (answer == null) {
                             
                             
                             
                             
                            answer = delegate.getOrLookupCamelContext();
                        }
                        return answer;
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
Pair #1383 Negative (Non-Clone)
ID: 219_243
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosContainerResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosContainerResponse> setCosmosContainerResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
                setMessageHeader(exchange, CosmosDbConstants.DEFAULT_TIME_TO_LIVE_SECONDS,
                        response.getProperties().getDefaultTimeToLiveInSeconds());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #1384 Negative (Non-Clone)
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
ID: 1910_1572
ClassID: 1910
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.computeIfAbsent(Exchange exchange)
    private AvroSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        AvroSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, AvroSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            Schema raw = new Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
            answer = new AvroSchema(raw);
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.AVRO.name().toLowerCase(Locale.US) + "/" + t
                                             + "." + SchemaType.AVRO.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Avro.mapper().schemaFrom(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Avro schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Avro.mapper().schemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Avro schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
Pair #1385 Negative (Non-Clone)
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #1386 Negative (Non-Clone)
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #1387 Negative (Non-Clone)
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
Pair #1388 Negative (Non-Clone)
ID: 2638_2276
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(String endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            String endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 765_692
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineObjectName(Exchange exchange)
    private String determineObjectName(Exchange exchange) {
        String key = getConfiguration().getObjectName();
        if (ObjectHelper.isEmpty(key)) {
            key = exchange.getIn().getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class);
        }
        if (key == null) {
            throw new IllegalArgumentException("Google Cloud Storage object name header missing.");
        }
        return key;
    }
Pair #1389 Negative (Non-Clone)
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #1390 Negative (Non-Clone)
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
Pair #1391 Negative (Non-Clone)
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #1392 Negative (Non-Clone)
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
ID: 3273_2647
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, BooleanSupplier supplier)
    public boolean run(CamelContext camelContext, BooleanSupplier supplier) {
        running.set(true);
        boolean completed = false;

        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                nextAttemptTime = lastAttemptTime + budget.interval();
                if (doRun(supplier)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    completed = true;
                    break;
                }

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
            throw e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return completed;
    }
Pair #1393 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #1394 Negative (Non-Clone)
ID: 982_841
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameterSrc()
  final public Token InParameterSrc() throws ParseException {Token ret = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SIMPLE_EXP_TOKEN:{
      ret = jj_consume_token(SIMPLE_EXP_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    case PARAMETER_POS_TOKEN:{
      ret = jj_consume_token(PARAMETER_POS_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    default:
      jj_la1[11] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
}
ID: 3284_2678
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertVariableProcessor.java
Name: org.apache.camel.support.processor.ConvertVariableProcessor.ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName, Class<?> type, String charset, boolean mandatory)
    public ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName,
                                    Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(variableName, "variableName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.variableName = variableName;
        this.toName = toName;
        this.toVariableName = toVariableName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
Pair #1395 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #1396 Negative (Non-Clone)
ID: 15_14
ClassID: 15
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/EvictionType.java
Name: org.apache.camel.component.caffeine.EvictionType.getEvictionType(String name)
    public static EvictionType getEvictionType(String name) {
        if (name == null) {
            return null;
        }
        for (EvictionType evictionType : VALUES) {
            if (evictionType.toString().equalsIgnoreCase(name) || evictionType.name().equalsIgnoreCase(name)) {
                return evictionType;
            }
        }
        throw new IllegalArgumentException(String.format("Eviction type '%s' is not supported by this component.", name));
    }
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
Pair #1397 Negative (Non-Clone)
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
ID: 487_517
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #1398 Negative (Non-Clone)
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #1399 Negative (Non-Clone)
ID: 2522_2078
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMysqlComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMysqlComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMySqlComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMySqlComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMySqlComponent) component).setConfiguration((org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMySqlComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "bigintUnsignedHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBigintUnsignedHandlingMode((java.lang.String) value); return true;
            case "binlogBufferSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBinlogBufferSize((int) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "connectKeepAlive": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAlive((boolean) value); return true;
            case "connectKeepAliveIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAliveIntervalMs((long) value); return true;
            case "connectTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectTimeoutMs((int) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databaseJdbcDriver": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseJdbcDriver((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePort((int) value); return true;
            case "databaseProtocol": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseProtocol((java.lang.String) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseServerId": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerId((long) value); return true;
            case "databaseServerIdOffset": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerIdOffset((long) value); return true;
            case "databaseSslKeystore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystore((java.lang.String) value); return true;
            case "databaseSslKeystorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystorePassword((java.lang.String) value); return true;
            case "databaseSslMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslMode((java.lang.String) value); return true;
            case "databaseSslTruststore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststore((java.lang.String) value); return true;
            case "databaseSslTruststorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststorePassword((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "enableTimeAdjuster": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEnableTimeAdjuster((boolean) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMySqlComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventDeserializationFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventDeserializationFailureHandlingMode((java.lang.String) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "gtidSourceExcludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceExcludes((java.lang.String) value); return true;
            case "gtidSourceFilterDmlEvents": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceFilterDmlEvents((boolean) value); return true;
            case "gtidSourceIncludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceIncludes((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeQuery((boolean) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "inconsistentSchemaHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInconsistentSchemaHandlingMode((java.lang.String) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "minRowCountToStreamResults": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMinRowCountToStreamResults((int) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMySqlComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "useNongracefulDisconnect": getOrCreateConfiguration((DebeziumMySqlComponent) component).setUseNongracefulDisconnect((boolean) value); return true;
            default: return false;
            }
        }
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #1400 Negative (Non-Clone)
ID: 2614_2261
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateMainModel(JsonObject obj)
    public static MainModel generateMainModel(JsonObject obj) {
        MainModel model = new MainModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            MainGroupModel group = new MainGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            MainOptionModel option = new MainOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
Pair #1401 Negative (Non-Clone)
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 2098_1694
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
Name: org.apache.camel.component.file.remote.FtpsEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPSClient client = getFtpsClient();

        if (client == null) {
             
             
            client = (FTPSClient) createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPSClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpsOperations operations = new FtpsOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #1402 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
Pair #1403 Negative (Non-Clone)
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
Pair #1404 Negative (Non-Clone)
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
Pair #1405 Negative (Non-Clone)
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #1406 Negative (Non-Clone)
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1407 Negative (Non-Clone)
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
ID: 576_547
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.listObjects(MinioClient minioClient, Exchange exchange)
    private void listObjects(MinioClient minioClient, Exchange exchange) throws InvalidPayloadException {

        if (getConfiguration().isPojoRequest()) {
            ListObjectsArgs.Builder payload = exchange.getIn().getMandatoryBody(ListObjectsArgs.Builder.class);
            if (isNotEmpty(payload)) {
                Iterable<Result<Item>> objectList = minioClient.listObjects(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(objectList);
            }
        } else {
            final String bucketName = determineBucketName(exchange);

            Iterable<Result<Item>> objectList = minioClient.listObjects(ListObjectsArgs.builder()
                    .bucket(bucketName)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(objectList);
        }
    }
Pair #1408 Negative (Non-Clone)
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #1409 Negative (Non-Clone)
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
Pair #1410 Negative (Non-Clone)
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
ID: 898_756
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent.getClient(GoogleSheetsStreamConfiguration config)
    public Sheets getClient(GoogleSheetsStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #1411 Negative (Non-Clone)
ID: 2245_1767
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
Pair #1412 Negative (Non-Clone)
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1413 Negative (Non-Clone)
ID: 3297_2708
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheck(CamelContext context, String id)
    public static HealthCheck getHealthCheck(CamelContext context, String id) {
        HealthCheck answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheck> check = hcr.getCheck(id);
            if (check.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheck hc = resolver.resolveHealthCheck(id);
                if (hc != null) {
                    check = Optional.of(hc);
                    hcr.register(hc);
                }
            }
            if (check.isPresent()) {
                answer = check.get();
            }
        }
        return answer;
    }
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
Pair #1414 Negative (Non-Clone)
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
ID: 453_484
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.getFileInfo(String fileId, String... fields)
    public BoxFile.Info getFileInfo(String fileId, String... fields) {
        try {
            LOG.debug("Getting info for file(id={})", fileId);
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);

            BoxFile file = new BoxFile(boxConnection, fileId);

            if (fields == null || fields.length == 0) {
                return file.getInfo();
            } else {
                return file.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #1415 Negative (Non-Clone)
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #1416 Negative (Non-Clone)
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 3294_2699
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactorySSLSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLSocket>> getSSLSocketFactorySSLSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLSocket> sslSocketConfigurer = new Configurer<>() {

            @Override
            public SSLSocket configure(SSLSocket socket) {

                if (!getSNIHostNames().isEmpty()) {
                    SSLParameters sslParameters = socket.getSSLParameters();
                    sslParameters.setServerNames(getSNIHostNames());
                    socket.setSSLParameters(sslParameters);
                }

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSSLParameters().getCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);
                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSSLParameters().getCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSSLParameters().getProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSSLParameters().getProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLSocket>> sslSocketConfigurers = new LinkedList<>();
        sslSocketConfigurers.add(sslSocketConfigurer);

        return sslSocketConfigurers;
    }
Pair #1417 Negative (Non-Clone)
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1418 Negative (Non-Clone)
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #1419 Negative (Non-Clone)
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1420 Negative (Non-Clone)
ID: 384_430
ClassID: 384
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!getEndpoint().isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 558_539
ClassID: 558
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/UnitOfWorkCloserInterceptor.java
Name: org.apache.camel.component.cxf.common.UnitOfWorkCloserInterceptor.handleMessage(Message message)
    public void handleMessage(Message message) throws Fault {
        if (handleOneWayMessage) {
            if (isOneWay(message)) {
                CxfUtils.closeCamelUnitOfWork(message);
            }
        } else {  
            CxfUtils.closeCamelUnitOfWork(message);
        }
    }
Pair #1421 Negative (Non-Clone)
ID: 230_277
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FTPFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FTPFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FTPFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FTPFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #1422 Negative (Non-Clone)
ID: 2667_2351
ClassID: 2667
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
Name: org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.shouldFailOver(Exchange exchange)
    protected boolean shouldFailOver(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (exceptions == null || exceptions.isEmpty()) {
                 
                answer = true;
            } else {
                for (Class<?> exception : exceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }

            if (answer) {
                 
                statistics.onHandledFailure(exchange.getException());
            }
        }

        if (LOG.isTraceEnabled()) {
            LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
        }

        return answer;
    }
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
Pair #1423 Negative (Non-Clone)
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #1424 Negative (Non-Clone)
ID: 2093_1685
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset)
    private RemoteFile<SftpRemoteFile> asRemoteFile(
            String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset) {
        RemoteFile<SftpRemoteFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getFilename());
        answer.setFileLength(file.getFileLength());
        answer.setLastModified(file.getLastModified());
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());
        answer.setDirectory(file.isDirectory());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 2541_2117
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findJavaFiles(File dir, Set<File> javaFiles)
    public static void findJavaFiles(File dir, Set<File> javaFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".java")) {
                    javaFiles.add(file);
                } else if (file.isDirectory()) {
                    findJavaFiles(file, javaFiles);
                }
            }
        }
    }
Pair #1425 Negative (Non-Clone)
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
Pair #1426 Negative (Non-Clone)
ID: 1720_1436
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
Pair #1427 Negative (Non-Clone)
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
ID: 1739_1452
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
Pair #1428 Negative (Non-Clone)
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1429 Negative (Non-Clone)
ID: 1282_1130
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findEdgeByKey()
    private Function<Exchange, Object> findEdgeByKey() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseEdgeDocument.class;
                return edgeCollection.getEdge(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #1430 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #1431 Negative (Non-Clone)
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
Pair #1432 Negative (Non-Clone)
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
Pair #1433 Negative (Non-Clone)
ID: 899_766
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java
Name: org.apache.camel.component.google.drive.GoogleDriveProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 188_192
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllQueryJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobsResponseCallback() {
                    @Override
                    public void onResponse(QueryJobs jobs, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #1434 Negative (Non-Clone)
ID: 406_436
ClassID: 406
File: systems/camel-java/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
Name: org.apache.camel.component.couchdb.CouchDbEndpoint.CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component)
    public CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component) throws Exception {
        super(endpointUri, component);

        URI uri = new URI(remaining);

        protocol = uri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }

        port = uri.getPort() == -1 ? DEFAULT_PORT : uri.getPort();

        if (uri.getPath() == null || uri.getPath().isBlank()) {
            throw new IllegalArgumentException(URI_ERROR);
        }
        database = uri.getPath().substring(1);

        hostname = uri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }
    }
ID: 285_354
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toLong(JsonNode node, Exchange exchange)
    public Long toLong(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToLong()) {
                return nn.asLong();
            }
        }
        String text = node.asText();
        return Long.valueOf(text);
    }
Pair #1435 Negative (Non-Clone)
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #1436 Negative (Non-Clone)
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
ID: 1738_1450
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketConsumer.processExchange(Exchange exchange, RoutingContext routingContext)
    protected void processExchange(Exchange exchange, RoutingContext routingContext) {
        routingContext.vertx().executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                            routingContext.fail(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
Pair #1437 Negative (Non-Clone)
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #1438 Negative (Non-Clone)
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1439 Negative (Non-Clone)
ID: 1644_1405
ClassID: 1644
File: systems/camel-java/components/camel-spring-parent/camel-spring-main/src/main/java/org/apache/camel/spring/Main.java
Name: org.apache.camel.spring.Main.findLocations(Set<String> locations, ClassLoader classLoader)
    protected void findLocations(Set<String> locations, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(LOCATION_PROPERTIES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
            try {
                while (true) {
                    String line = reader.readLine();
                    if (line == null) {
                        break;
                    }
                    line = line.trim();
                    if (line.startsWith("#") || line.isEmpty()) {
                        continue;
                    }
                    locations.add(line);
                }
            } finally {
                IOHelper.close(reader, null, LOG);
            }
        }
    }
ID: 2187_1719
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.createFloatingIp(Exchange exchange)
    private void createFloatingIp(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);
        FloatingIP ip;

        if (ObjectHelper.isNotEmpty(dropletId)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(dropletId);
        } else if (ObjectHelper.isNotEmpty(region)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(region);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.DROPLET_ID + " or " + DigitalOceanHeaders.REGION + " must be specified");
        }

        LOG.trace("FloatingIP [{}] ", ip);
        exchange.getMessage().setBody(ip);
    }
Pair #1440 Negative (Non-Clone)
ID: 175_151
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
Pair #1441 Negative (Non-Clone)
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
Pair #1442 Negative (Non-Clone)
ID: 230_275
ClassID: 230
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<ShareFileItem> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<ShareFileItem> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<ShareFileItem> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<ShareFileItem> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #1443 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #1444 Negative (Non-Clone)
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #1445 Negative (Non-Clone)
ID: 3258_2615
ClassID: 3258
File: systems/camel-java/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrySelectors.java
Name: org.apache.camel.impl.cloud.ServiceRegistrySelectors.select(Collection<ServiceRegistry> services)
        public Optional<ServiceRegistry> select(Collection<ServiceRegistry> services) {
            Optional<Map.Entry<Integer, List<ServiceRegistry>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(ServiceRegistry::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple ServiceRegistry instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #1446 Negative (Non-Clone)
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #1447 Negative (Non-Clone)
ID: 2650_2311
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.predecessor(E e)
    public E predecessor(E e) {
        E elem = lower(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().predecessor(elem, e)) {
            return elem;
        }
        return null;
    }
ID: 2480_2031
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.nodePrefixId = o.getString("nodePrefixId");
                            row.processor = o.getString("from");
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                row.total = stats.get("exchangesTotal").toString();
                                Object num = stats.get("remoteExchangesTotal");
                                if (num != null) {
                                    row.totalRemote = num.toString();
                                }
                                row.inflight = stats.get("exchangesInflight").toString();
                                num = stats.get("remoteExchangesInflight");
                                if (num != null) {
                                    row.inflightRemote = num.toString();
                                }
                                row.failed = stats.get("exchangesFailed").toString();
                                num = stats.get("remoteExchangesFailed");
                                if (num != null) {
                                    row.failedRemote = num.toString();
                                }
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add) {
                                rows.add(row);
                                List<JsonObject> list = o.getCollection("processors");
                                if (list != null) {
                                    addProcessors(row, rows, list);
                                }
                            }
                        }
                    }
                });

         
        if (running || filter != null || group != null) {
            rows.removeIf(r -> {
                boolean keep = true;
                if (filter != null) {
                    keep = PatternHelper.matchPatterns(r.processorId, filter);
                }
                if (!keep && filter != null) {
                    for (String f : filter) {
                        if (!keep) {
                            String w = f.endsWith("*") ? f : f + "*";  
                            keep = PatternHelper.matchPattern(r.processor, w);
                        }
                    }
                }
                 
                if (keep && group != null) {
                    keep = PatternHelper.matchPatterns(r.group, group);
                }
                if (keep && running) {
                    keep = "Started".equals(r.state);
                }
                return !keep;
            });
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1448 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 1305_1139
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusBecomingLeader()
    private void refreshStatusBecomingLeader() {
         
         
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be effective in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
        this.currentState = State.LEADER;
        this.serializedExecutor.execute(this::refreshStatus);
    }
Pair #1449 Negative (Non-Clone)
ID: 836_717
ClassID: 836
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Producer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Producer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectionOptions);
        }
    }
ID: 124_113
ClassID: 124
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config)
    private void configureTimeoutExecutorService(ResilienceProcessor processor, Resilience4jConfigurationCommon config) {
        if (!parseBoolean(config.getTimeoutEnabled(), false)) {
            return;
        }

        if (config.getTimeoutExecutorService() != null) {
            String ref = config.getTimeoutExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
Pair #1450 Negative (Non-Clone)
ID: 3217_2497
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodFallbackTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodFallbackTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, type, exchange, value, registry) : (T) ObjectHelper
                        .invokeMethod(method, instance, type, value, registry);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 3212_2488
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max)
    private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

         
        includeProcessorsJSon(getCamelContext(), arr, max, mps);
    }
Pair #1451 Negative (Non-Clone)
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1452 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
Pair #1453 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 3168_2432
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.start()
    public void start() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().startRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error starting route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
Pair #1454 Negative (Non-Clone)
ID: 107_99
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollEvents()
    private Queue<Exchange> pollEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming events");
        }

         
         
         
        List<String> eventTypes = parseCommaSeparatedList(config.getTypes());
        List<EventRepresentation> events = keycloakClient.realm(realm).getEvents(
                eventTypes,  
                config.getClient(),  
                config.getUser(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getIpAddress(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (EventRepresentation event : events) {
            long eventTime = event.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getEventFingerprint(event);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(event);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, event.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last event time to: {}", lastEventTime);
        }

        return queue;
    }
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #1455 Negative (Non-Clone)
ID: 656_578
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToListOptions(Message message)
    private ContainerListOptions messageToListOptions(Message message) {
        ContainerListOptions options = message.getBody(ContainerListOptions.class);
        if (options == null) {
            Map headers = message.getHeaders();

            if (headers.containsKey(SwiftConstants.LIMIT)) {
                options = getListOptions(options).limit(message.getHeader(SwiftConstants.LIMIT, Integer.class));
            }

            if (headers.containsKey(SwiftConstants.MARKER)) {
                options = getListOptions(options).marker(message.getHeader(SwiftConstants.MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.END_MARKER)) {
                options = getListOptions(options).endMarker(message.getHeader(SwiftConstants.END_MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.DELIMITER)) {
                options = getListOptions(options).delimiter(message.getHeader(SwiftConstants.DELIMITER, Character.class));
            }

            if (headers.containsKey(SwiftConstants.PATH)) {
                options = getListOptions(options).path(message.getHeader(SwiftConstants.PATH, String.class));
            }
        }
        return options;
    }
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
Pair #1456 Negative (Non-Clone)
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
Pair #1457 Negative (Non-Clone)
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #1458 Negative (Non-Clone)
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1784_1466
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSslSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSslSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (sslSocketConnectors != null) {
            answer = sslSocketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
Pair #1459 Negative (Non-Clone)
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #1460 Negative (Non-Clone)
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #1461 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
Pair #1462 Negative (Non-Clone)
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
Pair #1463 Negative (Non-Clone)
ID: 308_376
ClassID: 308
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
Pair #1464 Negative (Non-Clone)
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
Pair #1465 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 1282_1122
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveDocument()
    private Function<Exchange, Object> saveDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                boolean isMultiInsert = exchange.getMessage().getHeader(MULTI_INSERT, false, Boolean.class);

                 
                if (isMultiInsert) {
                    Collection<Object> objects = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.insertDocuments(objects);
                }

                 
                Object obj = exchange.getMessage().getMandatoryBody();
                return collection.insertDocument(obj);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1466 Negative (Non-Clone)
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #1467 Negative (Non-Clone)
ID: 1810_1493
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCommitContainerRequest(DockerClient client, Message message)
    private CommitCmd executeCommitContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Commit Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        CommitCmd commitCmd = client.commitCmd(containerId);

        String author = DockerHelper.getProperty(DockerConstants.DOCKER_AUTHOR, configuration, message, String.class);

        if (author != null) {
            commitCmd.withAuthor(author);
        }

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            commitCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            commitCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            commitCmd.withAttachStdout(attachStdOut);
        }

        String[] cmds = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmds != null) {
            commitCmd.withCmd(cmds);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            commitCmd.withDisableNetwork(disableNetwork);
        }

        String[] envs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (envs != null) {
            commitCmd.withEnv(envs);
        }

        ExposedPorts exposedPorts
                = DockerHelper.getProperty(DockerConstants.DOCKER_EXPOSED_PORTS, configuration, message, ExposedPorts.class);

        if (exposedPorts != null) {
            commitCmd.withExposedPorts(exposedPorts);
        }

        String hostname = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostname != null) {
            commitCmd.withHostname(hostname);
        }

        Integer memory = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY, configuration, message, Integer.class);

        if (memory != null) {
            commitCmd.withMemory(memory);
        }

        Integer memorySwap
                = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Integer.class);

        if (memorySwap != null) {
            commitCmd.withMemorySwap(memorySwap);
        }

        String msg = DockerHelper.getProperty(DockerConstants.DOCKER_MESSAGE, configuration, message, String.class);

        if (msg != null) {
            commitCmd.withMessage(msg);
        }

        Boolean openStdIn = DockerHelper.getProperty(DockerConstants.DOCKER_OPEN_STD_IN, configuration, message, Boolean.class);

        if (openStdIn != null) {
            commitCmd.withOpenStdin(openStdIn);
        }

        Boolean pause = DockerHelper.getProperty(DockerConstants.DOCKER_PAUSE, configuration, message, Boolean.class);

        if (pause != null) {
            commitCmd.withPause(pause);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            commitCmd.withPortSpecs(portSpecs);
        }

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        if (repository != null) {
            commitCmd.withRepository(repository);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            commitCmd.withStdinOnce(stdInOnce);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (tag != null) {
            commitCmd.withTag(tag);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            commitCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            commitCmd.withUser(user);
        }

        Volumes volumes = DockerHelper.getProperty(DockerConstants.DOCKER_VOLUMES, configuration, message, Volumes.class);

        if (volumes != null) {
            commitCmd.withVolumes(volumes);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            commitCmd.withWorkingDir(workingDir);
        }

        return commitCmd;

    }
ID: 1131_970
ClassID: 1131
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.getConsumer(String key, boolean block, long timeout)
    protected KameletConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            KameletConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #1468 Negative (Non-Clone)
ID: 1322_1230
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doGet(Exchange exchange, String namespaceName)
    protected void doGet(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            throw new IllegalArgumentException("Get a specific custom resource require specify a custom resource name");
        }
        JsonObject customResourceJSON = new JsonObject();
        try {
            customResourceJSON = new JsonObject(
                    getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName)
                            .withName(customResourceName)
                            .require()
                            .get());

        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

        prepareOutboundMessage(exchange, customResourceJSON);
    }
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
Pair #1469 Negative (Non-Clone)
ID: 2648_2305
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onComponentAdd(String name, Component component)
    public void onComponentAdd(String name, Component component) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<ComponentCustomizer.Policy> filters = registry.findByType(ComponentCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, component))) {
            registry.findByType(ComponentCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, component))
                    .forEach(customizer -> customizer.configure(name, component));
        }
    }
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
Pair #1470 Negative (Non-Clone)
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1471 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
Pair #1472 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1473 Negative (Non-Clone)
ID: 339_389
ClassID: 339
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(SjmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(SjmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #1474 Negative (Non-Clone)
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
Pair #1475 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #1476 Negative (Non-Clone)
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #1477 Negative (Non-Clone)
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #1478 Negative (Non-Clone)
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #1479 Negative (Non-Clone)
ID: 3286_2683
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer)
    public <T> ResultBuilder error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer) {
        try {
            consumer.accept(this, data);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
Pair #1480 Negative (Non-Clone)
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #1481 Negative (Non-Clone)
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #1482 Negative (Non-Clone)
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
Pair #1483 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1548_1369
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Starting ZooKeeper Curator with namespace '{}', nodes: '{}'",
                        configuration.getNamespace(),
                        String.join(",", configuration.getNodes()));
            }

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }
    }
Pair #1484 Negative (Non-Clone)
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #1485 Negative (Non-Clone)
ID: 3105_2387
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.instance(Object instance)
        public Builder instance(Object instance) {
             
            if (instance instanceof Class) {
                this.beanType = (Class<?>) instance;
                this.instance = null;
            } else {
                this.beanType = null;
                this.instance = instance;
            }
            return this;
        }
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
Pair #1486 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 2325_1831
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
Name: org.apache.camel.component.aws2.athena.Athena2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
Pair #1487 Negative (Non-Clone)
ID: 2443_1924
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getId(SuspendedRow r)
    private String getId(SuspendedRow r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
Pair #1488 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
Pair #1489 Negative (Non-Clone)
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #1490 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #1491 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
Pair #1492 Negative (Non-Clone)
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
ID: 1282_1124
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateDocument()
    private Function<Exchange, Object> updateDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_UPDATE, false, Boolean.class);

                 
                if (isMultiUpdate) {
                    Collection<Object> documents = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.updateDocuments(documents);
                }

                 
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object document = exchange.getMessage().getMandatoryBody();
                return collection.updateDocument(key, document);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #1493 Negative (Non-Clone)
ID: 2386_1881
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onQuit(IRCUser user, String msg)
        public void onQuit(IRCUser user, String msg) {
            if (configuration.isOnQuit()) {
                Exchange exchange = createOnQuitExchange(user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 680_607
ClassID: 680
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MicrometerRoutePolicy answer = new MicrometerRoutePolicy(this);
        answer.setMeterRegistry(getMeterRegistry());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setSkipCamelInfo(isSkipCamelInfo());
        answer.setDurationUnit(getDurationUnit());
        answer.setNamingStrategy(getNamingStrategy());
        answer.setConfiguration(getPolicyConfiguration());
        return answer;
    }
Pair #1494 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 1116_951
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getAccessKey(ImageRecognitionEndpoint endpoint)
    private String getAccessKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getAccessKey())) {
            return endpoint.getAccessKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getAccessKey())) {
            return endpoint.getServiceKeys().getAccessKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'access key (AK)' not found");
        }
    }
Pair #1495 Negative (Non-Clone)
ID: 1000_854
ClassID: 1000
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createOlingo4App(Olingo4Configuration configuration)
    private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (IOException | GeneralSecurityException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo4AppImpl olingo4App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo4AppWrapper(olingo4App);
        apiProxy.getOlingo4App().setContentType(configuration.getContentType());
        apiProxy.getOlingo4App().setHttpHeaders(configuration.getHttpHeaders());

        return apiProxy;
    }
ID: 1041_903
ClassID: 1041
File: systems/camel-java/components/camel-xslt-saxon/src/main/java/org/apache/camel/component/xslt/saxon/XsltSaxonEndpoint.java
Name: org.apache.camel.component.xslt.saxon.XsltSaxonEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (this.saxonReaderProperties != null) {
             
             
            source = createReaderForSource(source);
        }
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        setCacheCleared(false);
    }
Pair #1496 Negative (Non-Clone)
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #1497 Negative (Non-Clone)
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
Pair #1498 Negative (Non-Clone)
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #1499 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #1500 Negative (Non-Clone)
ID: 2231_1749
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateBranch(String operation)
    protected void doCreateBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchCreate().setName(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #1501 Negative (Non-Clone)
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1247_1077
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.matches(CamelContext context, Object body)
    public boolean matches(CamelContext context, Object body) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return matches(dummy);
        } finally {
             
            exchange.remove();
        }
    }
Pair #1502 Negative (Non-Clone)
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
Pair #1503 Negative (Non-Clone)
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
Pair #1504 Negative (Non-Clone)
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #1505 Negative (Non-Clone)
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #1506 Negative (Non-Clone)
ID: 2661_2340
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            long delay = throttlingState.peek().getDelay(TimeUnit.NANOSECONDS);
            asyncExecutor.schedule(() -> process(exchange, callback), delay, TimeUnit.NANOSECONDS);
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #1507 Negative (Non-Clone)
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #1508 Negative (Non-Clone)
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
Pair #1509 Negative (Non-Clone)
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #1510 Negative (Non-Clone)
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
Pair #1511 Negative (Non-Clone)
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1512 Negative (Non-Clone)
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #1513 Negative (Non-Clone)
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 195_223
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResult(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResult(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        String resultId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
            resultId = getParameter(RESULT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            resultId = getParameter(RESULT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResult(jobId, batchId, resultId, determineHeaders(exchange),
                new BulkApiClient.StreamResponseCallback() {
                    @Override
                    public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        StreamCache body = null;
                        if (inputStream != null) {
                             
                             
                            try {
                                body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                            } catch (IOException e) {
                                String msg = "Error retrieving query result: " + e.getMessage();
                                ex = new SalesforceException(msg, e);
                            } finally {
                                 
                                try {
                                    inputStream.close();
                                } catch (IOException e) {
                                     
                                }
                            }
                        }
                        processResponse(exchange, body, headers, ex, callback);
                    }
                });
    }
Pair #1514 Negative (Non-Clone)
ID: 2470_1994
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction.getEndpointUri(Row r)
    protected String getEndpointUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2451_1943
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDataFormatNames()) {
            DataFormatModel model = catalog.dataFormatModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1515 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 1856_1515
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
             
             
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #1516 Negative (Non-Clone)
ID: 1691_1415
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper() {

                    @Override
                    public CamelContext getCamelContext() {
                         
                         
                         
                         
                        return delegate.getOrLookupCamelContext();
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
ID: 18_28
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulEventProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj;
        switch (key) {
        case "fire":
        case "FIRE": target.fire(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1517 Negative (Non-Clone)
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1518 Negative (Non-Clone)
ID: 2221_1742
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineSignaturenUserIds(Exchange exchange)
    protected List<String> determineSignaturenUserIds(Exchange exchange) {
        String userid = findSignatureKeyUserid(exchange);
        List<String> userids = findSignatureKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
             
            result = userids;
        }
        return result;
    }
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1519 Negative (Non-Clone)
ID: 2453_1947
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getType(Object kamelet)
    private static String getType(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getLabels");
        @SuppressWarnings("unchecked")
        Map<String, String> labels = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (labels != null) {
            return labels.get("camel.apache.org/kamelet.type");
        }
        return null;
    }
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #1520 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #1521 Negative (Non-Clone)
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1522 Negative (Non-Clone)
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #1523 Negative (Non-Clone)
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #1524 Negative (Non-Clone)
ID: 2338_1838
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Producer.java
Name: org.apache.camel.component.aws2.sns.Sns2Producer.configureFifoAttributes(PublishRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(PublishRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoTopic()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
Pair #1525 Negative (Non-Clone)
ID: 635_569
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1526 Negative (Non-Clone)
ID: 3270_2639
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
ID: 485_514
ClassID: 485
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
Name: org.apache.camel.catalog.DefaultVersionManager.getResourceAsStream(String name)
    public InputStream getResourceAsStream(String name) {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(name);
        }
        if (is == null) {
            is = DefaultCamelCatalog.class.getClassLoader().getResourceAsStream(name);
        }
        return is;
    }
Pair #1527 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
Pair #1528 Negative (Non-Clone)
ID: 2577_2167
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeComponent()
    private void executeComponent() throws MojoExecutionException {
         
        final String kind = "component";
        List<String> componentNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!componentNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + componentNames.size() + " components");
            }

            for (String componentName : componentNames) {
                String json = loadJsonFrom(jsonFiles, kind, componentName);
                if (json != null) {
                     
                    componentName = asComponentName(componentName);

                    File file = new File(componentDocDir, componentName + "-" + kind + ".adoc");
                    boolean exists = file.exists();

                    ComponentModel model = generateComponentModel(json);
                    String title = asComponentTitle(model.getScheme(), model.getTitle());
                    model.setTitle(title);

                    boolean updated = updateHeader(componentName, file, model, " Component");

                    checkComponentHeader(file);
                    checkSince(file);

                    String options = evaluateTemplate("component-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No component doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
Pair #1529 Negative (Non-Clone)
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #1530 Negative (Non-Clone)
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #1531 Negative (Non-Clone)
ID: 2211_1735
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.updateJobRetries(JobRequest message)
    public JobResponse updateJobRetries(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.UpdateJobRetriesRequest.Builder builder = GatewayOuterClass.UpdateJobRetriesRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            GatewayOuterClass.UpdateJobRetriesRequest request = builder.build();
            GatewayOuterClass.UpdateJobRetriesResponse updateJobRetriesResponse = stub.updateJobRetries(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot update retries for Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #1532 Negative (Non-Clone)
ID: 174_141
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatch(InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatch(
            InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        post.body(new InputStreamRequestContent(batchStream));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(contentTypeEnum) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
Pair #1533 Negative (Non-Clone)
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #1534 Negative (Non-Clone)
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
Pair #1535 Negative (Non-Clone)
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #1536 Negative (Non-Clone)
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
ID: 1751_1454
ClassID: 1751
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (folder == null) {
             
            return;
        }
        if (!scheduler) {
             
            return;
        }

        File dir = new File(folder);
        if (dir.exists() && dir.isDirectory()) {
            String msg = startupMessage(dir);
            if (msg != null) {
                LOG.info(msg);
            }

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.debug(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                 
                if (isRecursive) {
                    this.folderKeys = new HashMap<>();
                    registerRecursive(watcher, path, modifier);
                } else {
                    registerPathToWatcher(modifier, path, watcher);
                }

                task = new WatchFileChangesTask(watcher, path);

                executorService = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this,
                        "FileWatcherReloadStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #1537 Negative (Non-Clone)
ID: 3209_2479
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
Pair #1538 Negative (Non-Clone)
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #1539 Negative (Non-Clone)
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
Pair #1540 Negative (Non-Clone)
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
Pair #1541 Negative (Non-Clone)
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
ID: 2026_1645
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object url = props.get("brokerURL");
        if (url != null) {
            return url.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getBrokerURLFromConnectionFactory(bi, ncf);
            }
        }
        return artemisBrokerURL(cf);
    }
Pair #1542 Negative (Non-Clone)
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
Pair #1543 Negative (Non-Clone)
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1544 Negative (Non-Clone)
ID: 2660_2338
ClassID: 2660
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
Name: org.apache.camel.component.properties.DefaultPropertiesFunctionResolver.resolve(CamelContext context, String name)
    private PropertiesFunction resolve(CamelContext context, String name) {
         
        Class<?> type = null;
        try {
            type = findFactory(name, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PropertiesFunction: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), name);
            }
            if (PropertiesFunction.class.isAssignableFrom(type)) {
                PropertiesFunction answer = (PropertiesFunction) context.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
                ServiceHelper.startService(answer);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PropertiesFunction implementation. Found: " + type.getName());
            }
        }

        return null;
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #1545 Negative (Non-Clone)
ID: 3219_2501
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/SysPropertiesFunction.java
Name: org.apache.camel.component.properties.SysPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = System.getProperty(key);
        return value != null ? value : defaultValue;
    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #1546 Negative (Non-Clone)
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
Pair #1547 Negative (Non-Clone)
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #1548 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #1549 Negative (Non-Clone)
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
ID: 383_427
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager(String replyTo)
    protected ReplyManager createReplyManager(String replyTo) throws Exception {
         
        ReplyManager replyManager = new QueueReplyManager(getEndpoint().getCamelContext());
        replyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + replyTo + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        replyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + replyTo + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(replyManager, name);
        replyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(replyManager);

        return replyManager;
    }
Pair #1550 Negative (Non-Clone)
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
Pair #1551 Negative (Non-Clone)
ID: 1957_1594
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.deleteByIds(Exchange exchange)
    private void deleteByIds(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        DeleteResponse result
                = index.deleteByIds(elements);

        populateDeleteResponse(result, exchange);
    }
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1552 Negative (Non-Clone)
ID: 1689_1410
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelEndpointFactoryBean) {
                CamelEndpointFactoryBean factoryBean = (CamelEndpointFactoryBean) value;
                builder.addPropertyValue("properties", factoryBean.getProperties());
            }
        }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #1553 Negative (Non-Clone)
ID: 18_27
ClassID: 18
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer target = (org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer) obj;
        switch (key) {
        case "query":
        case "QUERY": target.onQuery(exchange.getMessage()); return null;
        case "stats":
        case "STATS": target.onStats(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 1984_1627
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PromptInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PromptInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionCategory> detectedCategories = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (pattern.getPattern().matcher(text).find()) {
                if (!detectedCategories.contains(pattern.getCategory())) {
                    detectedCategories.add(pattern.getCategory());
                }

                 
                if (strict) {
                    return failure(
                            String.format("Potential prompt injection detected: %s pattern. " +
                                          "Please rephrase your request.",
                                    pattern.getCategory()));
                }
            }
        }

         
        if (detectedCategories.size() >= 2) {
            return failure(
                    String.format("Potential prompt injection detected: multiple suspicious patterns (%s). " +
                                  "Please rephrase your request.",
                            detectedCategories));
        }

        return success();
    }
Pair #1554 Negative (Non-Clone)
ID: 307_374
ClassID: 307
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/CqlSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.CqlSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 3295_2701
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLSocketFactory>> getSSLSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLSocket>> sslSocketConfigurers = this.getSSLSocketFactorySSLSocketConfigurers(context);

        Configurer<SSLSocketFactory> sslSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLSocketFactory configure(SSLSocketFactory factory) {
                return new SSLSocketFactoryDecorator(
                        factory,
                        sslSocketConfigurers);
            }
        };

        List<Configurer<SSLSocketFactory>> sslSocketFactoryConfigurers = new LinkedList<>();
        sslSocketFactoryConfigurers.add(sslSocketFactoryConfigurer);

        return sslSocketFactoryConfigurers;
    }
Pair #1555 Negative (Non-Clone)
ID: 15_14
ClassID: 15
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/EvictionType.java
Name: org.apache.camel.component.caffeine.EvictionType.getEvictionType(String name)
    public static EvictionType getEvictionType(String name) {
        if (name == null) {
            return null;
        }
        for (EvictionType evictionType : VALUES) {
            if (evictionType.toString().equalsIgnoreCase(name) || evictionType.name().equalsIgnoreCase(name)) {
                return evictionType;
            }
        }
        throw new IllegalArgumentException(String.format("Eviction type '%s' is not supported by this component.", name));
    }
ID: 1307_1154
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping OpenShift DeploymentConfigs Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1556 Negative (Non-Clone)
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
Pair #1557 Negative (Non-Clone)
ID: 2654_2320
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludedHeader(String key)
    private boolean isExcludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("-header:")) {
                pattern = StringHelper.after(pattern, "-header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #1558 Negative (Non-Clone)
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #1559 Negative (Non-Clone)
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #1560 Negative (Non-Clone)
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
Pair #1561 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #1562 Negative (Non-Clone)
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
ID: 3270_2639
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
Pair #1563 Negative (Non-Clone)
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #1564 Negative (Non-Clone)
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #1565 Negative (Non-Clone)
ID: 1689_1412
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteTemplateContextFactoryBean) {
                CamelRouteTemplateContextFactoryBean factoryBean = (CamelRouteTemplateContextFactoryBean) value;
                builder.addPropertyValue("routeTemplates", factoryBean.getRouteTemplates());
            }

             
            injectNamespaces(element, binder);
        }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1566 Negative (Non-Clone)
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #1567 Negative (Non-Clone)
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
Pair #1568 Negative (Non-Clone)
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
ID: 2094_1687
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivityVerbose()
    public String getLastFtpActivityVerbose() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastVerboseLogActivity();
            if (log != null) {
                long since = listener.getLastVerboseLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
Pair #1569 Negative (Non-Clone)
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #1570 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1571 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #1572 Negative (Non-Clone)
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
Pair #1573 Negative (Non-Clone)
ID: 2454_1950
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Spring Boot project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copyApplicationPropertiesFiles(srcResourcesDir);

         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);

         
        createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
         
        final Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            boolean http = deps.stream().anyMatch(s -> s.contains("mvn:org.apache.camel:camel-platform-http"));
            if (!http) {
                prop.put("camel.main.run-controller", "true");
            }
             
            if (!prop.containsKey("server.port")) {
                int port = httpServerPort(settings);
                if (port == -1 && http) {
                    port = 8080;
                }
                if (port != -1 && port != 8080) {
                    prop.put("server.port", port);
                }
            }
            if (!prop.containsKey("management.server.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("management.server.port", port);
                }
            }
            if (hawtio) {
                 
                String s = prop.getProperty("management.endpoints.web.exposure.include");
                if (s == null) {
                    s = "hawtio,jolokia";
                } else {
                    s = s + ",hawtio,jolokia";
                }
                prop.setProperty("management.endpoints.web.exposure.include", s);
                prop.setProperty("spring.jmx.enabled", "true");
                prop.setProperty("hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, profile, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + ids[1] + "-" + ids[2] + ".jar";
        copyReadme(BUILD_DIR, appJar);
        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Paths.get(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
Pair #1574 Negative (Non-Clone)
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #1575 Negative (Non-Clone)
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
Pair #1576 Negative (Non-Clone)
ID: 2636_2271
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheck(String id)
    public HealthCheck resolveHealthCheck(String id) {
         
        HealthCheck answer = camelContext.getRegistry().lookupByNameAndType(id + "-health-check", HealthCheck.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheck.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheck(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheck registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheck.class.isAssignableFrom(type)) {
                return (HealthCheck) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check: " + id + " detected type conflict: Not a HealthCheck implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
ID: 188_188
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateJob(final Exchange exchange, final AsyncCallback callback)
    private void processCreateJob(final Exchange exchange, final AsyncCallback callback)
            throws InvalidPayloadException {
        JobInfo jobBody = exchange.getIn().getMandatoryBody(JobInfo.class);
        bulkClient.createJob(jobBody, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #1577 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
Pair #1578 Negative (Non-Clone)
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1579 Negative (Non-Clone)
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #1580 Negative (Non-Clone)
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1581 Negative (Non-Clone)
ID: 2464_1973
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.tailTraceFiles(Map<Long, Pid> pids, int tail)
    private void tailTraceFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getTraceFile(pid.pid);
            if (Files.exists(file)) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
Pair #1582 Negative (Non-Clone)
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #1583 Negative (Non-Clone)
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
Pair #1584 Negative (Non-Clone)
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #1585 Negative (Non-Clone)
ID: 685_621
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #1586 Negative (Non-Clone)
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #1587 Negative (Non-Clone)
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 3286_2683
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer)
    public <T> ResultBuilder error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer) {
        try {
            consumer.accept(this, data);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #1588 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1589 Negative (Non-Clone)
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
Pair #1590 Negative (Non-Clone)
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #1591 Negative (Non-Clone)
ID: 658_587
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.GroupProducer.messageToGroup(Message message)
    private Group messageToGroup(Message message) {
        Group group = message.getBody(Group.class);

        if (group == null) {
            Map headers = message.getHeaders();
            GroupBuilder builder = Builders.group();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            group = builder.build();
        }
        return group;
    }
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #1592 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #1593 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #1594 Negative (Non-Clone)
ID: 1108_943
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-functiongraph/src/main/java/org/apache/camel/FunctionGraphEndpoint.java
Name: org.apache.camel.FunctionGraphEndpoint.initClient()
    public FunctionGraphClient initClient() {
        if (functionGraphClient != null) {
            return functionGraphClient;
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(FunctionGraphRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
Pair #1595 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 2658_2330
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
Name: org.apache.camel.processor.SetHeaderProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newHeader = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

            String key = headerName.evaluate(exchange, String.class);
            old.setHeader(key, newHeader);

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1596 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #1597 Negative (Non-Clone)
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1598 Negative (Non-Clone)
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
Pair #1599 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 2273_1798
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.remove(final Exchange exchange, final String messageId)
    public boolean remove(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

        Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    MessageProcessed processed = (MessageProcessed) list.get(0);
                    entityManager.remove(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("remove {}", messageId);
        return rc[0];
    }
Pair #1600 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #1601 Negative (Non-Clone)
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
ID: 468_501
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapProducer.java
Name: org.apache.camel.component.snmp.SnmpTrapProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
        }
    }
Pair #1602 Negative (Non-Clone)
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
Pair #1603 Negative (Non-Clone)
ID: 2658_2332
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariableProcessor.java
Name: org.apache.camel.processor.SetVariableProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newVariable = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = variableName.evaluate(exchange, String.class);
            ExchangeHelper.setVariable(exchange, key, newVariable);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #1604 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #1605 Negative (Non-Clone)
ID: 3254_2606
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.complete(Exchange exchange)
    public CompletableFuture<Void> complete(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPLETING);

        if (doAction) {
            doComplete(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPLETING && status != Status.COMPLETED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot complete: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #1606 Negative (Non-Clone)
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 2273_1799
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(final Exchange exchange, final String messageId)
    public boolean contains(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("contains {} -> {}", messageId, rc[0]);
        return rc[0];
    }
Pair #1607 Negative (Non-Clone)
ID: 379_415
ClassID: 379
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsHeaderFilterStrategy.java
Name: org.apache.camel.component.sjms.SjmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add("JMSXUserID");
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 1309_1168
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.eventReceived(Action action, ConfigMap resource)
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1608 Negative (Non-Clone)
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #1609 Negative (Non-Clone)
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1610 Negative (Non-Clone)
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #1611 Negative (Non-Clone)
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 2639_2280
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue)
    protected Processor createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                Message in = exchange.getIn();
                in.setHeader(header, headerValue);
                in.setBody(body);
            }
        };
    }
Pair #1612 Negative (Non-Clone)
ID: 2377_1868
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setOutputFieldsIdx(String outputFieldsIdx)
    public void setOutputFieldsIdx(String outputFieldsIdx) {
        if (outputFieldsIdx != null) {
            String[] outputArray = outputFieldsIdx.split(",");
            outputFieldsIdxArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsIdxArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 2478_2025
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #1613 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 1752_1455
ClassID: 1752
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY);
        }
        return key;
    }
Pair #1614 Negative (Non-Clone)
ID: 837_721
ClassID: 837
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
Name: org.apache.camel.component.aws2.sns.Sns2Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        HashMap<String, String> metadata = new HashMap<>();
        if (configuration.getQueueArn() != null) {
            metadata.put("queueArn", configuration.getQueueArn());
        }
        if (configuration.getTopicArn() != null) {
            metadata.put("topicArn", configuration.getTopicArn());
        }
        return metadata;
    }
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
Pair #1615 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 556_534
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(MessageInfo msgInfo)
    protected void resetPartTypeClass(MessageInfo msgInfo) {
        if (msgInfo != null) {
            int size = msgInfo.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #1616 Negative (Non-Clone)
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
ID: 1499_1350
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF8(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF8(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_8;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_8;
            }
        }

        return d;
    }
Pair #1617 Negative (Non-Clone)
ID: 3171_2440
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        sb.append("<messages>");
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            String xml = MessageHelper.dumpAsXml(msg, includeBody);
            sb.append("\n").append(xml);
        }
        sb.append("\n</messages>");
        return sb.toString();
    }
ID: 1310_1176
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace().list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
Pair #1618 Negative (Non-Clone)
ID: 899_767
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java
Name: org.apache.camel.component.google.mail.GoogleMailProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #1619 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1620 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 2598_2215
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnum(final String key)
    public <T extends Enum<T>> T getEnum(final String key) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        value = this.getStringOrDefault(key, "");
        if (value == null) {
            return null;
        }
         
        splitValues = value.split("\\.");
        numberOfSplitValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfSplitValues; i++) {
            if (i == (numberOfSplitValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfSplitValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
Pair #1621 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
Pair #1622 Negative (Non-Clone)
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #1623 Negative (Non-Clone)
ID: 485_514
ClassID: 485
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
Name: org.apache.camel.catalog.DefaultVersionManager.getResourceAsStream(String name)
    public InputStream getResourceAsStream(String name) {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(name);
        }
        if (is == null) {
            is = DefaultCamelCatalog.class.getClassLoader().getResourceAsStream(name);
        }
        return is;
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #1624 Negative (Non-Clone)
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #1625 Negative (Non-Clone)
ID: 1009_873
ClassID: 1009
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ODataFeed) {
            response = filter((ODataFeed) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else if (response instanceof ODataEntry) {
            response = filter((ODataEntry) response);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 1841_1503
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XProducer.java
Name: org.apache.camel.component.plc4x.Plc4XProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
            if (plc4XEndpoint.isConnected() && !plc4XEndpoint.canWrite()) {
                throw new PlcException("This connection (" + plc4XEndpoint.getUri() + ") doesn't support writing.");
            }
        } catch (PlcConnectionException e) {
            if (log.isTraceEnabled()) {
                log.error("Connection setup failed, stopping producer", e);
            } else {
                log.error("Connection setup failed, stopping producer");
            }
            doStop();
        }
    }
Pair #1626 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
Pair #1627 Negative (Non-Clone)
ID: 180_166
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllQueryJobs(String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback)
    public void getAllQueryJobs(
            String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback) {
        String url = queryJobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #1628 Negative (Non-Clone)
ID: 765_682
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.determineOperation(Exchange exchange)
    private WatsonDiscoveryOperations determineOperation(Exchange exchange) {
        WatsonDiscoveryOperations operation
                = exchange.getIn().getHeader(WatsonDiscoveryConstants.OPERATION, WatsonDiscoveryOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1629 Negative (Non-Clone)
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #1630 Negative (Non-Clone)
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #1631 Negative (Non-Clone)
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
Pair #1632 Negative (Non-Clone)
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
ID: 220_249
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.s3.getObject");

        if (message.getHeaders().containsKey(AWS2S3Constants.BUCKET_NAME)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.s3.bucket." + message.getHeader(AWS2S3Constants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(AWS2S3Constants.KEY, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1633 Negative (Non-Clone)
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #1634 Negative (Non-Clone)
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
Pair #1635 Negative (Non-Clone)
ID: 1852_1505
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPrivateKeyToPEM(privateKey);
            case DER:
            case PKCS8:
                return privateKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for private key: " + format);
        }
    }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #1636 Negative (Non-Clone)
ID: 1311_1199
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doListJobByLabel(Exchange exchange)
    protected void doListJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get Job by labels require specify a labels set");
            throw new IllegalArgumentException("Get Job by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().withLabels(labels).list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 378_413
ClassID: 378
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/QueueReplyManager.java
Name: org.apache.camel.component.sjms.reply.QueueReplyManager.createDestination(Session session, String destinationName, boolean topic)
        public Destination createDestination(Session session, String destinationName, boolean topic) throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.createDestination(session, destinationName, topic);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
Pair #1637 Negative (Non-Clone)
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
ID: 1892_1562
ClassID: 1892
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #1638 Negative (Non-Clone)
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
ID: 2220_1739
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isEncryptionKey(PGPPublicKey key)
    private static boolean isEncryptionKey(PGPPublicKey key) {
        if (!key.isEncryptionKey()) {
            return false;
        }
         
        Boolean hasEncryptionKeyFlags
                = hasOneOfExpectedKeyFlags(key, new int[] { KeyFlags.ENCRYPT_COMMS, KeyFlags.ENCRYPT_STORAGE });
        if (hasEncryptionKeyFlags != null && !hasEncryptionKeyFlags) {
            LOG.debug(
                    "Public key with key key ID {} found for specified user ID. But this key will not be used for the encryption, because its key flags are not encryption key flags.",
                    key.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #1639 Negative (Non-Clone)
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #1640 Negative (Non-Clone)
ID: 3099_2373
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientRequestValidation(boolean clientRequestValidation)
    public RestDefinition clientRequestValidation(boolean clientRequestValidation) {
        if (getVerbs().isEmpty()) {
            this.clientRequestValidation = Boolean.toString(clientRequestValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientRequestValidation(Boolean.toString(clientRequestValidation));
        }

        return this;
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #1641 Negative (Non-Clone)
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #1642 Negative (Non-Clone)
ID: 1422_1267
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.run()
        public void run() {
            LOG.info("Listening on port {}", this.serverSocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {
                    Socket inSocket = this.serverSocket.accept();
                     
                    Thread t = new RequestHandlerThread(this.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
Pair #1643 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
Pair #1644 Negative (Non-Clone)
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1645 Negative (Non-Clone)
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
ID: 2339_1841
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #1646 Negative (Non-Clone)
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
Pair #1647 Negative (Non-Clone)
ID: 488_520
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/generated/java/org/apache/camel/component/cxf/converter/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.converter.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.cxf.message.MessageContentsList.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toString((org.apache.cxf.message.MessageContentsList) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1272_1111
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performSubscribe(final Message message, AsyncCallback callback)
    public void performSubscribe(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, false);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, false);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #1648 Negative (Non-Clone)
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
ID: 306_371
ClassID: 306
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.KafkaSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #1649 Negative (Non-Clone)
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
Pair #1650 Negative (Non-Clone)
ID: 3239_2563
ClassID: 3239
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/TransactedReifier.java
Name: org.apache.camel.reifier.TransactedReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Policy policy = resolvePolicy();
        org.apache.camel.util.ObjectHelper.notNull(policy, "policy", this);

         
        policy.beforeWrap(route, definition);

         
        Processor childProcessor = this.createChildProcessor(true);

         
        Processor target = policy.wrap(route, childProcessor);

        if (!(target instanceof Service)) {
             
             
            target = new WrapProcessor(target, childProcessor);
        }
        return target;
    }
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
Pair #1651 Negative (Non-Clone)
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 406_436
ClassID: 406
File: systems/camel-java/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
Name: org.apache.camel.component.couchdb.CouchDbEndpoint.CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component)
    public CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component) throws Exception {
        super(endpointUri, component);

        URI uri = new URI(remaining);

        protocol = uri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }

        port = uri.getPort() == -1 ? DEFAULT_PORT : uri.getPort();

        if (uri.getPath() == null || uri.getPath().isBlank()) {
            throw new IllegalArgumentException(URI_ERROR);
        }
        database = uri.getPath().substring(1);

        hostname = uri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }
    }
Pair #1652 Negative (Non-Clone)
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
Pair #1653 Negative (Non-Clone)
ID: 1304_1137
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseConfigMapPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseConfigMapPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        ConfigMap cm = getClient().configMaps().withName(name).get();
        if (cm != null) {
            answer = cm.getData() != null ? cm.getData().get(key) : null;
            if (answer == null) {
                 
                answer = cm.getBinaryData() != null ? cm.getBinaryData().get(key) : null;
                if (answer != null) {
                     
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #1654 Negative (Non-Clone)
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
Pair #1655 Negative (Non-Clone)
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1784_1466
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSslSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSslSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (sslSocketConnectors != null) {
            answer = sslSocketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
Pair #1656 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #1657 Negative (Non-Clone)
ID: 1086_927
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleEnd()
    private void handleEnd() {
        Handler<Void> endHandler;
        lock.lock();
        try {
            dataHandler = null;
            endHandler = this.endHandler;
        } finally {
            lock.unlock();
        }
        if (endHandler != null) {
            checkContext();
            endHandler.handle(null);
        }
    }
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #1658 Negative (Non-Clone)
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1659 Negative (Non-Clone)
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 257_336
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
Name: org.apache.camel.component.google.mail.stream.GoogleMailStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange, unreadLabelId);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange, unreadLabelId);
                }

                @Override
                public String toString() {
                    return "GoogleMailStreamConsumerOnCompletion";
                }
            });

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #1660 Negative (Non-Clone)
ID: 2509_2061
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.extendsType(ClassInfo ci, DotName superType)
    protected boolean extendsType(ClassInfo ci, DotName superType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(superType)) {
            return true;
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return extendsType(
                    view.getClassByName(superName),
                    superType);
        }

        return false;
    }
ID: 644_573
ClassID: 644
File: systems/camel-java/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/WhatsAppWebhookProcessor.java
Name: org.apache.camel.component.whatsapp.WhatsAppWebhookProcessor.parseQueryParam(Exchange exchange)
    private Map<String, String> parseQueryParam(Exchange exchange) {
        Map<String, String> queryParams = new HashMap<>();

        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            String[] pairs = exchange.getIn().getHeader(Exchange.HTTP_QUERY).toString().split("&");
            for (String pair : pairs) {
                String[] keyValuePair = pair.split("=");

                queryParams.put(keyValuePair[0], keyValuePair[1]);
            }
        }

        return queryParams;
    }
Pair #1661 Negative (Non-Clone)
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 1111_946
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private void initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getFrsClient() != null) {
            LOG.info(
                    "Instance of FrsClient was set on the endpoint. Skip creation of FrsClient from endpoint parameters");
            this.frsClient = endpoint.getFrsClient();
            return;
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }
        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        frsClient = FrsClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized FRS client");
        }
    }
Pair #1662 Negative (Non-Clone)
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
ID: 3212_2488
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max)
    private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

         
        includeProcessorsJSon(getCamelContext(), arr, max, mps);
    }
Pair #1663 Negative (Non-Clone)
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
ID: 103_80
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateUser(Keycloak keycloakClient, Exchange exchange)
    private void updateUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                keycloakClient.realm(realmName).users().get(userId).update((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("User updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update user requires POJO request with UserRepresentation");
        }
    }
Pair #1664 Negative (Non-Clone)
ID: 3222_2508
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/NumericExpression.java
Name: org.apache.camel.language.simple.ast.NumericExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == int.class || type == Integer.class
                        || type == long.class || type == Long.class
                        || type == double.class || type == Double.class) {
                    return type.cast(number);
                }
                return exchange.getContext().getTypeConverter().tryConvertTo(type, exchange, number);
            }

            @Override
            public String toString() {
                return String.valueOf(number);
            }
        };
    }
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
Pair #1665 Negative (Non-Clone)
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
Pair #1666 Negative (Non-Clone)
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
Pair #1667 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #1668 Negative (Non-Clone)
ID: 2047_1662
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileChangedExclusiveReadLockStrategy readLockStrategy = new FileChangedExclusiveReadLockStrategy();
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #1669 Negative (Non-Clone)
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 1717_1427
ClassID: 1717
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchComponent.java
Name: org.apache.camel.component.opensearch.OpensearchComponent.parseHostAddresses(String ipsString, OpensearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, OpensearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : OpensearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(config.isEnableSSL() ? "HTTPS" : "HTTP", hostname, port));
        }
        return addressesTrAd;
    }
Pair #1670 Negative (Non-Clone)
ID: 444_471
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketStringDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketStringDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(payload.toString(charset), msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
Pair #1671 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
Pair #1672 Negative (Non-Clone)
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
ID: 1036_891
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removePrefixPath(final String path)
    public PathHandler removePrefixPath(final String path) {
        lock.lock();
        try {
            super.removePrefixPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1673 Negative (Non-Clone)
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #1674 Negative (Non-Clone)
ID: 1855_1512
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in AWS Secrets Manager: {}", metadata);
        return keyPair;
    }
ID: 902_777
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Gmail makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Gmail client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
Pair #1675 Negative (Non-Clone)
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
Pair #1676 Negative (Non-Clone)
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
Pair #1677 Negative (Non-Clone)
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
ID: 1062_916
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerClaimedRoles(List<String> signerClaimedRoles)
    public void setSignerClaimedRoles(List<String> signerClaimedRoles) {
        if (signerClaimedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerClaimedRoles' is null");
        }
        for (String role : signerClaimedRoles) {
            if (role == null || role.isEmpty()) {
                throw new IllegalArgumentException("At least one of the signer claimed roles is null or empty");
            }
        }
        this.signerClaimedRoles = new ArrayList<>(signerClaimedRoles);
    }
Pair #1678 Negative (Non-Clone)
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1679 Negative (Non-Clone)
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
Pair #1680 Negative (Non-Clone)
ID: 2584_2183
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!mainJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "main.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(mainJsonFile);
            MainModel model = JsonMapper.generateMainModel(json);
            String options = evaluateTemplate("main-options.mvel", model);
            updated = updateOptionsIn(file, "main", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing main docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No main doc file: " + file);
        }
    }
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1681 Negative (Non-Clone)
ID: 893_745
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaEndpoint.java
Name: org.apache.camel.component.chroma.ChromaEndpoint.getClient()
    public Client getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();

                    if (this.client == null) {
                        this.client = createClient();
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
Pair #1682 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
Pair #1683 Negative (Non-Clone)
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
Pair #1684 Negative (Non-Clone)
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #1685 Negative (Non-Clone)
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
Pair #1686 Negative (Non-Clone)
ID: 1313_1201
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doCreateOrUpdateHPA(Exchange exchange, String operationName, Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation)
    private void doCreateOrUpdateHPA(
            Exchange exchange, String operationName,
            Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation) {
        String hpaName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerSpec hpaSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_SPEC, HorizontalPodAutoscalerSpec.class);
        if (ObjectHelper.isEmpty(hpaName)) {
            LOG.error("{} a specific hpa require specify a hpa name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific hpa require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(hpaSpec)) {
            LOG.error("{} a specific hpa require specify a hpa spec bean", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa spec bean");
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscaler hpaCreating = new HorizontalPodAutoscalerBuilder().withNewMetadata().withName(hpaName)
                .withLabels(labels).endMetadata().withSpec(hpaSpec).build();
        HorizontalPodAutoscaler hpa
                = operation.apply(getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                        .inNamespace(namespaceName)
                        .resource(hpaCreating));

        prepareOutboundMessage(exchange, hpa);
    }
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
Pair #1687 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #1688 Negative (Non-Clone)
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #1689 Negative (Non-Clone)
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
Pair #1690 Negative (Non-Clone)
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
Pair #1691 Negative (Non-Clone)
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
Pair #1692 Negative (Non-Clone)
ID: 1138_979
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            this.lastSha = exchange.getMessage().getHeader(GitHubConstants.GITHUB_COMMIT_SHA, String.class);
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #1693 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
Pair #1694 Negative (Non-Clone)
ID: 467_497
ClassID: 467
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.GoogleSheetsApiCollection()
    private GoogleSheetsApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleSheetsApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.SPREADSHEETS, new ApiMethodHelper<>(SheetsSpreadsheetsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsApiMethod.class, GoogleSheetsApiName.SPREADSHEETS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.DATA, new ApiMethodHelper<>(SheetsSpreadsheetsValuesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsValuesApiMethod.class, GoogleSheetsApiName.DATA);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #1695 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
Pair #1696 Negative (Non-Clone)
ID: 1939_1590
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doStart()
    protected void doStart() throws Exception {
        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
ID: 1547_1365
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/SetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.SetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = connection.setData(node, data, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'  with '%d' bytes of data, retrieved statistics '%s' ",
                            node, data != null ? data.length : 0, statistics));
                } else {
                    LOG.debug(format("Set data of node '%s' with '%d' bytes of data", node, data != null ? data.length : 0));
                }
            }
            return new OperationResult<>(data, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #1697 Negative (Non-Clone)
ID: 2666_2350
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);

        sb.append("setVariables[");
        int variableIndex = 0;
        for (Expression expression : expressions) {
            if (variableIndex > 0) {
                sb.append("; ");
            }
            sb.append(variableNames.get(variableIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
ID: 11_5
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value;
        value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
Pair #1698 Negative (Non-Clone)
ID: 220_252
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/transform/Ddb2StreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.ddbstream.transform.Ddb2StreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.ddbstream.getRecords");

        if (message.getHeaders().containsKey(Ddb2StreamConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.ddbstream." + message.getHeader(Ddb2StreamConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Ddb2StreamConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
Pair #1699 Negative (Non-Clone)
ID: 2474_2015
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseTraceLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        int doneTraces = 0;
        for (Row r : rows) {
            printTrace(r.name, pids.size(), r, limit);
            if (r.done) {
                doneTraces++;
            }
        }

        if (latest) {
             
            return doneTraces == 0;
        } else {
            return true;
        }
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #1700 Negative (Non-Clone)
ID: 680_609
ClassID: 680
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MetricsRoutePolicy answer = new MetricsRoutePolicy();
        answer.setMetricsRegistry(getMetricsRegistry());
        answer.setUseJmx(isUseJmx());
        answer.setJmxDomain(getJmxDomain());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setRateUnit(getRateUnit());
        answer.setDurationUnit(getDurationUnit());
        if (namePattern != null) {
            answer.setNamePattern(namePattern);
        }
        return answer;
    }
ID: 2272_1794
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.query(final String query)
    public static QueryBuilder query(final String query) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createQuery(query);
            }

            @Override
            public String toString() {
                return "Query: " + query + getParameterDescription();
            }
        };
    }
Pair #1701 Negative (Non-Clone)
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
ID: 2615_2263
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(MainModel model)
    public static JsonObject asJsonObject(MainModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (MainGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (MainOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
Pair #1702 Negative (Non-Clone)
ID: 2364_1861
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createCompleteHandler(String modelId, StreamMetadata metadata, StringBuilder fullText)
    public static InvokeModelWithResponseStreamResponseHandler createCompleteHandler(
            String modelId,
            StreamMetadata metadata,
            StringBuilder fullText) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);
                                if (text != null && !text.isEmpty()) {
                                    fullText.append(text);
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setFullText(fullText.toString());
                })
                .build();
    }
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1703 Negative (Non-Clone)
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #1704 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
Pair #1705 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #1706 Negative (Non-Clone)
ID: 104_89
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak keycloakClient, Exchange exchange)
    private void createClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().create((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientRepresentation client = new ClientRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID))) {
                String clientId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID, String.class);
                client.setClientId(clientId);
                client.setEnabled(true);
            } else {
                throw new IllegalArgumentException(MISSING_CLIENT_ID);
            }
            Response response = keycloakClient.realm(realmName).clients().create(client);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
Pair #1707 Negative (Non-Clone)
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #1708 Negative (Non-Clone)
ID: 893_749
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusEndpoint.java
Name: org.apache.camel.component.milvus.MilvusEndpoint.getClient()
    public MilvusClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #1709 Negative (Non-Clone)
ID: 379_415
ClassID: 379
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsHeaderFilterStrategy.java
Name: org.apache.camel.component.sjms.SjmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add("JMSXUserID");
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 184_176
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "queryAll/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
Pair #1710 Negative (Non-Clone)
ID: 1619_1393
ClassID: 1619
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #1711 Negative (Non-Clone)
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
Pair #1712 Negative (Non-Clone)
ID: 1426_1276
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt, CMSEnvelopedDataGenerator dataGenerator, OutputEncryptor encryptor, String encryptedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt,
                                                   CMSEnvelopedDataGenerator dataGenerator,
                                                   OutputEncryptor encryptor,
                                                   String encryptedContentTransferEncoding,
                                                   boolean isMainBody)
                                                                       throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "enveloped-data"),
                new BasicNameValuePair("name", "smime.p7m")),
              encryptedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.encryptedData = createEncryptedData(entity2Encrypt, dataGenerator, encryptor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #1713 Negative (Non-Clone)
ID: 101_71
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(String accessToken, Exchange exchange)
    private void validateRoles(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userRoles;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userRoles = KeycloakSecurityHelper.extractRolesFromIntrospection(
                        introspectionResult, policy.getRealm(), policy.getClientId());
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userRoles = KeycloakSecurityHelper.extractRoles(token, policy.getRealm(), policy.getClientId());
            }

            boolean hasRequiredRoles = policy.isAllRolesRequired()
                    ? userRoles.containsAll(policy.getRequiredRolesAsList())
                    : policy.getRequiredRolesAsList().stream().anyMatch(userRoles::contains);

            if (!hasRequiredRoles) {
                String message = String.format("User does not have required roles. Required: %s, User has: %s",
                        policy.getRequiredRoles(), userRoles);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Role validation successful for user with roles: {}", userRoles);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate roles", exchange, e);
        }
    }
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
Pair #1714 Negative (Non-Clone)
ID: 1694_1422
ClassID: 1694
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (Exception ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        }
    }
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
Pair #1715 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
Pair #1716 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1717 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #1718 Negative (Non-Clone)
ID: 2400_1889
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferProducer.java
Name: org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case READ_ONCE_HEAD:
                this.readOnceHead(exchange);
                break;

            case READ_ONCE_TAIL:
                this.readOnceTail(exchange);
                break;

            case CAPACITY:
                this.getCapacity(exchange);
                break;

            case REMAINING_CAPACITY:
                this.getRemainingCapacity(exchange);
                break;

            case ADD:
                this.add(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the RINGBUFFER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
Pair #1719 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1720 Negative (Non-Clone)
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
Pair #1721 Negative (Non-Clone)
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #1722 Negative (Non-Clone)
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #1723 Negative (Non-Clone)
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #1724 Negative (Non-Clone)
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
Pair #1725 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
Pair #1726 Negative (Non-Clone)
ID: 1477_1316
ClassID: 1477
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #1727 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 1550_1373
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslyDelete(ProductionContext ctx)
    private OperationResult synchronouslyDelete(ProductionContext ctx) throws Exception {
        DeleteOperation setData = new DeleteOperation(ctx.connection, ctx.node);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
Pair #1728 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 2664_2345
ClassID: 2664
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #1729 Negative (Non-Clone)
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #1730 Negative (Non-Clone)
ID: 3222_2508
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/NumericExpression.java
Name: org.apache.camel.language.simple.ast.NumericExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == int.class || type == Integer.class
                        || type == long.class || type == Long.class
                        || type == double.class || type == Double.class) {
                    return type.cast(number);
                }
                return exchange.getContext().getTypeConverter().tryConvertTo(type, exchange, number);
            }

            @Override
            public String toString() {
                return String.valueOf(number);
            }
        };
    }
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #1731 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
Pair #1732 Negative (Non-Clone)
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
ID: 1722_1442
ClassID: 1722
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/aggregation/OpensearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.opensearch.aggregation.OpensearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (ObjectHelper.isNotEmpty(oldExchange)) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #1733 Negative (Non-Clone)
ID: 2651_2314
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onFailure(final Exchange exchange)
        public void onFailure(final Exchange exchange) {
            if (shouldSkip(exchange, onCompleteOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);
            final Exception original = copy.getException();
            if (original != null) {
                 
                 
                copy.setException(null);
            }

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onFailure: {}", copy);
                    doProcess(processor, copy);
                     
                    copy.setException(original);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onFailure: {}", copy);
                doProcess(processor, copy);
                 
                copy.setException(original);
            }
        }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #1734 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
Pair #1735 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1736 Negative (Non-Clone)
ID: 1915_1580
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1737 Negative (Non-Clone)
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2558_2129
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelSimpleExpressionDetails> simpleExpressions)
    public static void parseXmlRouteSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelSimpleExpressionDetails> simpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "simple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelSimpleExpressionDetails detail = new CamelSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setSimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                simpleExpressions.add(detail);
            }
        }
    }
Pair #1738 Negative (Non-Clone)
ID: 444_470
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
             
            DatagramPacket dp = new DatagramPacket(payload.retain(), msg.recipient());
            out.add(dp);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 464_490
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.getEndpointConfiguration(GoogleDriveApiName apiName)
    public GoogleDriveConfiguration getEndpointConfiguration(GoogleDriveApiName apiName) {
        GoogleDriveConfiguration result = null;
        switch (apiName) {
            case DRIVE_ABOUT:
                result = new DriveAboutEndpointConfiguration();
                break;
            case DRIVE_CHANGES:
                result = new DriveChangesEndpointConfiguration();
                break;
            case DRIVE_CHANNELS:
                result = new DriveChannelsEndpointConfiguration();
                break;
            case DRIVE_COMMENTS:
                result = new DriveCommentsEndpointConfiguration();
                break;
            case DRIVE_DRIVES:
                result = new DriveDrivesEndpointConfiguration();
                break;
            case DRIVE_FILES:
                result = new DriveFilesEndpointConfiguration();
                break;
            case DRIVE_PERMISSIONS:
                result = new DrivePermissionsEndpointConfiguration();
                break;
            case DRIVE_REPLIES:
                result = new DriveRepliesEndpointConfiguration();
                break;
            case DRIVE_REVISIONS:
                result = new DriveRevisionsEndpointConfiguration();
                break;
            case DRIVE_TEAMDRIVES:
                result = new DriveTeamdrivesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1739 Negative (Non-Clone)
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1740 Negative (Non-Clone)
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
ID: 189_209
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateBatchQuery(final Exchange exchange, final AsyncCallback callback)
    private void processCreateBatchQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        ContentType contentType;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String soqlQuery;
        if (jobBody != null) {
            jobId = jobBody.getId();
            contentType = jobBody.getContentType();
             
            soqlQuery = getParameter(SOBJECT_QUERY, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            contentType = ContentType.fromValue(getParameter(CONTENT_TYPE, exchange, IGNORE_BODY, NOT_OPTIONAL));
             
            soqlQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.createBatchQuery(jobId, soqlQuery, contentType, determineHeaders(exchange),
                new BulkApiClient.BatchInfoResponseCallback() {
                    @Override
                    public void onResponse(BatchInfo batchInfo, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, batchInfo, headers, ex, callback);
                    }
                });
    }
Pair #1741 Negative (Non-Clone)
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #1742 Negative (Non-Clone)
ID: 1311_1198
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doListResourceQuotasByLabels(Exchange exchange)
    protected void doListResourceQuotasByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ResourceQuotas by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ResourceQuotas by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().withLabels(labels).list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #1743 Negative (Non-Clone)
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #1744 Negative (Non-Clone)
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #1745 Negative (Non-Clone)
ID: 2386_1880
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onReply(int num, String value, String msg)
        public void onReply(int num, String value, String msg) {
            if (configuration.isOnReply()) {
                Exchange exchange = createOnReplyExchange(num, value, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1240_1065
ClassID: 1240
File: systems/camel-java/components/camel-http-common/src/generated/java/org/apache/camel/http/common/HttpConverterLoader.java
Name: org.apache.camel.http.common.HttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, jakarta.servlet.ServletInputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletInputStream((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletRequest.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletRequest((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletResponse.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletResponse((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.BufferedReader.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toReader((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.servlet.http.HttpServletRequest.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((jakarta.servlet.http.HttpServletRequest) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((org.apache.camel.http.common.HttpMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1746 Negative (Non-Clone)
ID: 11_5
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value;
        value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
Pair #1747 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 107_99
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollEvents()
    private Queue<Exchange> pollEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming events");
        }

         
         
         
        List<String> eventTypes = parseCommaSeparatedList(config.getTypes());
        List<EventRepresentation> events = keycloakClient.realm(realm).getEvents(
                eventTypes,  
                config.getClient(),  
                config.getUser(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getIpAddress(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (EventRepresentation event : events) {
            long eventTime = event.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getEventFingerprint(event);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(event);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, event.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last event time to: {}", lastEventTime);
        }

        return queue;
    }
Pair #1748 Negative (Non-Clone)
ID: 1309_1166
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.eventReceived(Action action, GenericKubernetesResource resource)
                            public void eventReceived(Action action, GenericKubernetesResource resource) {
                                Exchange exchange = createExchange(false);
                                exchange.getIn().setBody(Serialization.asJson(resource));
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_ACTION, action);
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_TIMESTAMP,
                                        System.currentTimeMillis());
                                try {
                                    processor.process(exchange);
                                } catch (Exception e) {
                                    getExceptionHandler().handleException("Error during processing", exchange, e);
                                } finally {
                                    releaseExchange(exchange, false);
                                }
                            }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1749 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
Pair #1750 Negative (Non-Clone)
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
Pair #1751 Negative (Non-Clone)
ID: 1719_1433
ClassID: 1719
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 635_569
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
Pair #1752 Negative (Non-Clone)
ID: 2176_1709
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration)
    private void configureAuthentication(
            ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #1753 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
Pair #1754 Negative (Non-Clone)
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 1433_1294
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseTextPlainEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static TextPlainEntity parseTextPlainEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            String text = parseBodyPartText(inbuffer, is, boundary);
            if (contentTransferEncoding != null) {
                text = EntityUtils.decode(text, charset, contentTransferEncoding);
            }
            return new TextPlainEntity(text, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1755 Negative (Non-Clone)
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1756 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
Pair #1757 Negative (Non-Clone)
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
Pair #1758 Negative (Non-Clone)
ID: 1444_1300
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2AsyncMDNServerConnection(AS2Configuration configuration)
    public static AS2AsyncMDNServerConnection createAS2AsyncMDNServerConnection(AS2Configuration configuration)
            throws IOException {
        try {
            return asyncMdnServerConnections.computeIfAbsent(
                    configuration.getAsyncMdnPortNumber(),
                    key -> {
                        try {
                            return new AS2AsyncMDNServerConnection(
                                    configuration.getAsyncMdnPortNumber(), configuration.getSslContext());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #1759 Negative (Non-Clone)
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
ID: 1841_1502
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping Consumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping Consumer");
            }
            doStop();
        }
        if (trigger == null) {
            startUnTriggered();
        } else {
            startTriggered();
        }
    }
Pair #1760 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #1761 Negative (Non-Clone)
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #1762 Negative (Non-Clone)
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #1763 Negative (Non-Clone)
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
Pair #1764 Negative (Non-Clone)
ID: 180_166
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllQueryJobs(String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback)
    public void getAllQueryJobs(
            String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback) {
        String url = queryJobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
Pair #1765 Negative (Non-Clone)
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1766 Negative (Non-Clone)
ID: 3304_2715
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseEpilog()
    protected int parseEpilog() throws XmlPullParserException, IOException {
        if (eventType == END_DOCUMENT) {
            throw new XmlPullParserException("already reached end of XML input", this, null);
        }
        if (reachedEnd) {
            return eventType = END_DOCUMENT;
        }
        boolean gotS = false;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        try {
             
            char ch;
            if (seenMarkup) {
                ch = buf[pos - 1];
            } else {
                ch = more();
            }
            seenMarkup = false;
            posStart = pos - 1;
            if (!reachedEnd) {
                while (true) {
                     
                     
                    if (ch == '<') {
                        if (gotS && tokenize) {
                            posEnd = pos - 1;
                            seenMarkup = true;
                            return eventType = IGNORABLE_WHITESPACE;
                        }
                        ch = more();
                        if (reachedEnd) {
                            break;
                        }
                        if (ch == '?') {
                             
                             
                            parsePI();
                            if (tokenize)
                                return eventType = PROCESSING_INSTRUCTION;

                        } else if (ch == '!') {
                            ch = more();
                            if (reachedEnd) {
                                break;
                            }
                            if (ch == 'D') {
                                parseDocdecl();  
                                if (tokenize)
                                    return eventType = DOCDECL;
                            } else if (ch == '-') {
                                parseComment();
                                if (tokenize)
                                    return eventType = COMMENT;
                            } else {
                                throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                            }
                        } else if (ch == '/') {
                            throw new XmlPullParserException(
                                    "end tag not allowed in epilog but got " + printable(ch), this, null);
                        } else if (isNameStartChar(ch)) {
                            throw new XmlPullParserException(
                                    "start tag not allowed in epilog but got " + printable(ch), this, null);
                        } else {
                            throw new XmlPullParserException(
                                    "in epilog expected ignorable content and not " + printable(ch), this, null);
                        }
                    } else if (isS(ch)) {
                        gotS = true;
                        if (normalizeIgnorableWS) {
                            if (ch == '\r') {
                                normalizedCR = true;
                                 
                                 
                                 
                                if (!usePC) {
                                    posEnd = pos - 1;
                                    if (posEnd > posStart) {
                                        joinPC();
                                    } else {
                                        usePC = true;
                                        pcStart = pcEnd = 0;
                                    }
                                }
                                 
                                if (pcEnd >= pc.length)
                                    ensurePC(pcEnd);
                                pc[pcEnd++] = '\n';
                            } else if (ch == '\n') {
                                if (!normalizedCR && usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = '\n';
                                }
                                normalizedCR = false;
                            } else {
                                if (usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = ch;
                                }
                                normalizedCR = false;
                            }
                        }
                    } else {
                        throw new XmlPullParserException(
                                "in epilog non whitespace content is not allowed but got " + printable(ch), this, null);
                    }
                    ch = more();
                    if (reachedEnd) {
                        break;
                    }

                }
            }

             
             
             
        } catch (EOFException ex) {
            reachedEnd = true;
        }
        if (tokenize && gotS) {
            posEnd = pos;  
            return eventType = IGNORABLE_WHITESPACE;
        }
        return eventType = END_DOCUMENT;
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #1767 Negative (Non-Clone)
ID: 220_249
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.s3.getObject");

        if (message.getHeaders().containsKey(AWS2S3Constants.BUCKET_NAME)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.s3.bucket." + message.getHeader(AWS2S3Constants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(AWS2S3Constants.KEY, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2459_1959
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jibMavenPluginVersion(Path settings, Properties prop)
    protected static String jibMavenPluginVersion(Path settings, Properties prop) {
        String answer = null;
        if (prop != null) {
            answer = prop.getProperty(JIB_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream().filter(l -> l.startsWith(JIB_MAVEN_PLUGIN_VERSION + "="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "3.4.5";
    }
Pair #1768 Negative (Non-Clone)
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
Pair #1769 Negative (Non-Clone)
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #1770 Negative (Non-Clone)
ID: 1001_857
ClassID: 1001
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo2Consumer consumer = new Olingo2Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
Pair #1771 Negative (Non-Clone)
ID: 1449_1304
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.invalidRecord(InvalidRecordException ex)
    public void invalidRecord(InvalidRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "InvalidRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreInvalidRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 3102_2378
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return "to[" + uri + "]";
    }
Pair #1772 Negative (Non-Clone)
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #1773 Negative (Non-Clone)
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
ID: 3260_2619
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue, Class<T> type)
    public <T> T getHeader(String name, Object defaultValue, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
            value = defaultValue;
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #1774 Negative (Non-Clone)
ID: 1272_1111
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performSubscribe(final Message message, AsyncCallback callback)
    public void performSubscribe(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, false);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, false);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #1775 Negative (Non-Clone)
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1776 Negative (Non-Clone)
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
Pair #1777 Negative (Non-Clone)
ID: 1106_937
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        UpdateUserOption userOption;
        if (body instanceof UpdateUserOption) {
            userOption = (UpdateUserOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                userOption = new ObjectMapper().readValue(strBody, UpdateUserOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or UpdateUserOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to update user");
        }

         
        UpdateUserRequestBody requestBody = new UpdateUserRequestBody()
                .withUser(userOption);
        UpdateUserRequest request = new UpdateUserRequest()
                .withBody(requestBody)
                .withUserId(clientConfigurations.getUserId());
        UpdateUserResponse response = iamClient.updateUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #1778 Negative (Non-Clone)
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
ID: 1972_1605
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.upsert(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #1779 Negative (Non-Clone)
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
Pair #1780 Negative (Non-Clone)
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
ID: 104_88
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createUser(Keycloak keycloakClient, Exchange exchange)
    private void createUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                Response response = keycloakClient.realm(realmName).users().create((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            UserRepresentation user = new UserRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USERNAME))) {
                String username = exchange.getIn().getHeader(KeycloakConstants.USERNAME, String.class);
                user.setUsername(username);
                user.setEnabled(true);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_EMAIL))) {
                    user.setEmail(exchange.getIn().getHeader(KeycloakConstants.USER_EMAIL, String.class));
                }
                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_FIRST_NAME))) {
                    user.setFirstName(exchange.getIn().getHeader(KeycloakConstants.USER_FIRST_NAME, String.class));
                }
                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_LAST_NAME))) {
                    user.setLastName(exchange.getIn().getHeader(KeycloakConstants.USER_LAST_NAME, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_USER_NAME);
            }
            Response response = keycloakClient.realm(realmName).users().create(user);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #1781 Negative (Non-Clone)
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #1782 Negative (Non-Clone)
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
Pair #1783 Negative (Non-Clone)
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
Pair #1784 Negative (Non-Clone)
ID: 177_159
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback)
    public void createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithJobResponse(callback, request);
    }
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #1785 Negative (Non-Clone)
ID: 3170_2439
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsJSon(Integer index, Boolean includeBody)
    public String browseMessageAsJSon(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsJSon(msg, includeBody);
    }
ID: 468_502
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpProducer.java
Name: org.apache.camel.component.snmp.SnmpProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
            this.pdu = null;
        }
    }
Pair #1786 Negative (Non-Clone)
ID: 1859_1523
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1787 Negative (Non-Clone)
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
ID: 2441_1918
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadDebug(long pid)
    JsonObject loadDebug(long pid) {
        try {
            Path p = getDebugFile(Long.toString(pid));
            if (p != null && Files.exists(p)) {
                String text = Files.readString(p);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #1788 Negative (Non-Clone)
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
Pair #1789 Negative (Non-Clone)
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #1790 Negative (Non-Clone)
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 658_591
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.PortProducer.messageToPort(Message message)
    private Port messageToPort(Message message) {
        Port port = message.getBody(Port.class);

        if (port == null) {
            Map headers = message.getHeaders();
            PortBuilder builder = Builders.port();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
                builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
                builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
            }

            port = builder.build();
        }
        return port;
    }
Pair #1791 Negative (Non-Clone)
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
Pair #1792 Negative (Non-Clone)
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
ID: 1138_979
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            this.lastSha = exchange.getMessage().getHeader(GitHubConstants.GITHUB_COMMIT_SHA, String.class);
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #1793 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #1794 Negative (Non-Clone)
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #1795 Negative (Non-Clone)
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
Pair #1796 Negative (Non-Clone)
ID: 2041_1648
ClassID: 2041
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.doShutdown()
    protected void doShutdown() throws Exception {
        super.doShutdown();

        if (cloudTrailClient != null) {
            try {
                cloudTrailClient.close();
            } catch (Exception e) {
                 
            }
            cloudTrailClient = null;
        }

        if (sqsClient != null) {
            try {
                sqsClient.close();
            } catch (Exception e) {
                 
            }
            sqsClient = null;
        }

        updates.clear();
    }
ID: 3110_2397
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsAdapter.java
Name: org.apache.camel.model.app.BeanConstructorsAdapter.marshal(Map<Integer, Object> v)
    public BeanConstructorsDefinition marshal(Map<Integer, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanConstructorDefinition[] result = new BeanConstructorDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<Integer, Object> entry : v.entrySet()) {
            Integer idx = entry.getKey();
            Object value = entry.getValue();
            BeanConstructorDefinition pd = new BeanConstructorDefinition();
            if (idx != null) {
                pd.setIndex(idx);
            }
            pd.setValue(value.toString());
            result[pos++] = pd;
        }
        BeanConstructorsDefinition def = new BeanConstructorsDefinition();
        def.setConstructors(Arrays.asList(result));
        return def;
    }
Pair #1797 Negative (Non-Clone)
ID: 3219_2501
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/SysPropertiesFunction.java
Name: org.apache.camel.component.properties.SysPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = System.getProperty(key);
        return value != null ? value : defaultValue;
    }
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
Pair #1798 Negative (Non-Clone)
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1799 Negative (Non-Clone)
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 2451_1943
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDataFormatNames()) {
            DataFormatModel model = catalog.dataFormatModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1800 Negative (Non-Clone)
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #1801 Negative (Non-Clone)
ID: 1289_1134
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final Reader reader)
    public static XQueryBuilder xquery(final Reader reader) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException, IOException {
                try {
                    return staticQueryContext.compileQuery(reader);
                } finally {
                    IOHelper.close(reader);
                }
            }
        };
    }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #1802 Negative (Non-Clone)
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
Pair #1803 Negative (Non-Clone)
ID: 3267_2632
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Class<? extends Annotation> annotation, String... packageNames)
    public Set<Class<?>> findAnnotated(Class<? extends Annotation> annotation, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotation.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithPackageScanFilter(annotation, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 3230_2541
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.filePathExpression()
    public static Expression filePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFilePath", String.class);
            }

            @Override
            public String toString() {
                return "file:path";
            }
        };
    }
Pair #1804 Negative (Non-Clone)
ID: 103_86
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResource(Keycloak keycloakClient, Exchange exchange)
    private void updateResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String resourceId = exchange.getIn().getHeader(KeycloakConstants.RESOURCE_ID, String.class);
        if (ObjectHelper.isEmpty(resourceId)) {
            throw new IllegalArgumentException("Resource ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources().resource(resourceId)
                        .update((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Resource updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
Pair #1805 Negative (Non-Clone)
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
Pair #1806 Negative (Non-Clone)
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #1807 Negative (Non-Clone)
ID: 2661_2340
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            long delay = throttlingState.peek().getDelay(TimeUnit.NANOSECONDS);
            asyncExecutor.schedule(() -> process(exchange, callback), delay, TimeUnit.NANOSECONDS);
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #1808 Negative (Non-Clone)
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
Pair #1809 Negative (Non-Clone)
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
ID: 778_703
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createArbitratySecret(Exchange exchange)
    private void createArbitratySecret(Exchange exchange) {
        ArbitrarySecretPrototype.Builder arbitrarySecretResourceBuilder = new ArbitrarySecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            arbitrarySecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        String payload = exchange.getMessage().getBody(String.class);
        if (ObjectHelper.isEmpty(payload)) {
            throw new IllegalArgumentException(
                    "Secret payload must be provided in the message body for createArbitrarySecret operation.");
        }
        arbitrarySecretResourceBuilder.payload(payload);
        arbitrarySecretResourceBuilder.secretType(ArbitrarySecretPrototype.SecretType.ARBITRARY);
        ArbitrarySecretPrototype arbitrarySecretResource = arbitrarySecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(arbitrarySecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #1810 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #1811 Negative (Non-Clone)
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
ID: 2598_2213
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getEnum(final int index)
    public <T extends Enum<T>> T getEnum(final int index) throws ClassNotFoundException {
         
        T returnable;
        final String element;
        final String[] splitValues;
        final int numberOfValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        element = this.getString(index);
        if (element == null) {
            return null;
        }
         
        splitValues = element.split("\\.");
        numberOfValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfValues; i++) {
            if (i == (numberOfValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
Pair #1812 Negative (Non-Clone)
ID: 1087_928
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopServer()
    protected void stopServer() {
        if (this.server == null) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                         
                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);

                        server.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.info("Vert.x HttpServer stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.server = null;
        }
    }
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
Pair #1813 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
Pair #1814 Negative (Non-Clone)
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1815 Negative (Non-Clone)
ID: 1062_916
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerClaimedRoles(List<String> signerClaimedRoles)
    public void setSignerClaimedRoles(List<String> signerClaimedRoles) {
        if (signerClaimedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerClaimedRoles' is null");
        }
        for (String role : signerClaimedRoles) {
            if (role == null || role.isEmpty()) {
                throw new IllegalArgumentException("At least one of the signer claimed roles is null or empty");
            }
        }
        this.signerClaimedRoles = new ArrayList<>(signerClaimedRoles);
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #1816 Negative (Non-Clone)
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #1817 Negative (Non-Clone)
ID: 11_5
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value;
        value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1818 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 2246_1769
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                cache.remove(InfinispanClusterService.LEADER_KEY, getClusterService().getId());

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }
        }
Pair #1819 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #1820 Negative (Non-Clone)
ID: 230_277
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FTPFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FTPFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FTPFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FTPFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 1037_893
ClassID: 1037
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.getHandler(HttpServerExchange httpServerExchange, String method)
    private HttpHandler getHandler(HttpServerExchange httpServerExchange, String method) {
        HttpHandler answer = null;

         
        if (method == null) {
            return null;
        }

        String path = httpServerExchange.getRequestURI();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer>> paths = new ArrayList<>();
        for (final UndertowConsumer consumer : consumers) {
            paths.add(new RestConsumerPath(consumer));
        }

        RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<UndertowConsumer> candidates = new ArrayList<>();
        if (answer == null) {
            for (final UndertowConsumer consumer : consumers) {

                String consumerPath = consumer.getEndpoint().getHttpURI().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(consumer);
                }
            }
        }

         
        candidates = candidates.stream().filter(c -> matchRestMethod(method, c.getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #1821 Negative (Non-Clone)
ID: 1203_1029
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doSetState(Exchange exchange, AsyncCallback callback)
    private void doSetState(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not publish empty message"));
            callback.done(true);
        }
        LOG.debug("Sending setState [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .setPresenceState()
                .channels(List.of(getChannel(exchange)))
                .state(body)
                .uuid(getUUID(exchange))
                .async((Result<PNSetStateResult> result) -> {
                    LOG.debug("Got setState response [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNSetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #1822 Negative (Non-Clone)
ID: 1855_1512
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in AWS Secrets Manager: {}", metadata);
        return keyPair;
    }
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #1823 Negative (Non-Clone)
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
ID: 1275_1118
ClassID: 1275
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/CamelVertxCommonBulkConverterLoader.java
Name: org.apache.camel.component.vertx.common.CamelVertxCommonBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #1824 Negative (Non-Clone)
ID: 982_840
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ParameterSqlType()
  final public Token ParameterSqlType() throws ParseException {Token t;
    Token scaleToken;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case NUMBER:{
      t = jj_consume_token(NUMBER);
      break;
      }
    case IDENTIFIER:{
      t = jj_consume_token(IDENTIFIER);
      break;
      }
    default:
      jj_la1[10] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
{if ("" != null) return t;}
    throw new Error("Missing return statement in function");
}
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #1825 Negative (Non-Clone)
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
Pair #1826 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 768_700
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getModel(Exchange exchange)
    private void getModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelName = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelName == null) {
            modelName = exchange.getIn().getBody(String.class);
        }

        if (modelName == null || modelName.isBlank()) {
            throw new IllegalArgumentException("Model name must be specified");
        }

        LOG.trace("Getting model information for: {}", modelName);

        GetModelOptions options = new GetModelOptions.Builder()
                .modelId(modelName)
                .build();

        SpeechModel model = stt.getModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(model);
    }
Pair #1827 Negative (Non-Clone)
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
ID: 2516_2075
ClassID: 2516
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsoleHelper.java
Name: org.apache.camel.impl.console.ConsoleHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt > 0) {
            int pos = location.lastIndexOf(':');
             
            if (pos < location.length() - 1) {
                String num = location.substring(pos + 1);
                try {
                    return Integer.valueOf(num);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #1828 Negative (Non-Clone)
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1829 Negative (Non-Clone)
ID: 2569_2150
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getDoc(JavaClassSource source, String name)
    private String getDoc(JavaClassSource source, String name) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 2472_2010
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVariable.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListVariable.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jv = (JsonObject) root.get("variables");
                        if (jv != null) {
                            for (String id : jv.keySet()) {
                                JsonArray arr = jv.getCollection(id);
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.id = id;
                                        row.key = jo.getString("key");
                                        row.type = jo.getString("type");
                                        row.value = jo.get("value");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("REPO").headerAlign(HorizontalAlign.CENTER).with(r -> r.id),
                    new Column().header("TYPE").headerAlign(HorizontalAlign.CENTER)
                            .maxWidth(40, OverflowBehaviour.ELLIPSIS_LEFT).with(r -> r.type),
                    new Column().header("KEY").dataAlign(HorizontalAlign.LEFT).maxWidth(50, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.key),
                    new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).maxWidth(80, OverflowBehaviour.NEWLINE)
                            .with(this::getValue))));
        }

        return 0;
    }
Pair #1830 Negative (Non-Clone)
ID: 241_306
ClassID: 241
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("GCP Secret Manager:");
            if (propertiesFunction.isUseDefaultInstance()) {
                sb.append("\n    Login: Default Instance");
            } else {
                sb.append("\n    Login: Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", gcp.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", gcp.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #1831 Negative (Non-Clone)
ID: 3273_2647
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, BooleanSupplier supplier)
    public boolean run(CamelContext camelContext, BooleanSupplier supplier) {
        running.set(true);
        boolean completed = false;

        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                nextAttemptTime = lastAttemptTime + budget.interval();
                if (doRun(supplier)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    completed = true;
                    break;
                }

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
            throw e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return completed;
    }
ID: 1307_1154
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping OpenShift DeploymentConfigs Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1832 Negative (Non-Clone)
ID: 1062_919
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyQualifiers(List<String> sigPolicyQualifiers)
    public void setSigPolicyQualifiers(List<String> sigPolicyQualifiers) {
        if (sigPolicyQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyQualifiers' is null");
        }
        for (String qualifier : sigPolicyQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one of the policy qualifiers is null or empty");
            }
        }
        this.sigPolicyQualifiers = new ArrayList<>(sigPolicyQualifiers);
    }
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1833 Negative (Non-Clone)
ID: 3112_2400
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.replace()
    public ProcessorDefinition<?> replace() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1834 Negative (Non-Clone)
ID: 2191_1729
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.detachVolumeToDroplet(Exchange exchange)
    private void detachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().detachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().detachVolume(dropletId, volumeId, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);

    }
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1835 Negative (Non-Clone)
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #1836 Negative (Non-Clone)
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
Pair #1837 Negative (Non-Clone)
ID: 1975_1611
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomCvPredictor.predict(Exchange exchange, Image image)
    protected T predict(Exchange exchange, Image image) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Image, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, image);
        try (Predictor<Image, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(image);
        } catch (TranslateException e) {
            LOG.error("Could not process input or output", e);
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #1838 Negative (Non-Clone)
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 2659_2333
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LoopProcessor.java
Name: org.apache.camel.processor.LoopProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            LoopState state = new LoopState(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(state);
            } else {
                reactiveExecutor.scheduleMain(state);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1839 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1840 Negative (Non-Clone)
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #1841 Negative (Non-Clone)
ID: 53_69
ClassID: 53
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 1558_1379
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1842 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 1104_932
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (this.iamClient == null) {
            LOG.info("Initializing SDK client");
            this.iamClient = endpoint.initClient();
            LOG.info("IAM client initialized");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case IAMOperations.LIST_USERS:
                listUsers(exchange);
                break;
            case IAMOperations.GET_USER:
                getUser(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_USER:
                updateUser(exchange, clientConfigurations);
                break;
            case IAMOperations.LIST_GROUPS:
                listGroups(exchange);
                break;
            case IAMOperations.GET_GROUP_USERS:
                getGroupUsers(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_GROUP:
                updateGroup(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #1843 Negative (Non-Clone)
ID: 3107_2391
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
Pair #1844 Negative (Non-Clone)
ID: 1255_1101
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #1845 Negative (Non-Clone)
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
ID: 2385_1875
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
Name: org.apache.camel.component.irc.IrcProducer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #1846 Negative (Non-Clone)
ID: 381_423
ClassID: 381
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
Name: org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSRedelivered(Message message)
    public static Boolean getJMSRedelivered(Message message) {
        if (message == null) {
            return null;
        }

        try {
            return message.getJMSRedelivered();
        } catch (Exception e) {
             
        }

        return null;
    }
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #1847 Negative (Non-Clone)
ID: 242_309
ClassID: 242
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            if (propertiesFunction.isUseDefaultInstance()) {
                root.put("login", "Default Instance");
            } else {
                root.put("login", "Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                root.put("refreshEnabled", gcp.isRefreshEnabled());
                root.put("refreshPeriod", gcp.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
Pair #1848 Negative (Non-Clone)
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #1849 Negative (Non-Clone)
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #1850 Negative (Non-Clone)
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #1851 Negative (Non-Clone)
ID: 11_5
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value;
        value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #1852 Negative (Non-Clone)
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #1853 Negative (Non-Clone)
ID: 3160_2404
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
        if (counter1.isStatisticsEnabled()) {
            counter1.completedExchange(exchange, time);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.completedExchange(exchange, time);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.completedExchange(exchange, time);
        }
    }
ID: 1274_1115
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier, final Supplier<DynamicRouterProducerFactory> producerFactorySupplier, final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier,
                                 final Supplier<DynamicRouterProducerFactory> producerFactorySupplier,
                                 final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.processorFactorySupplier = processorFactorySupplier;
        this.producerFactorySupplier = producerFactorySupplier;
        this.recipientListSupplier = recipientListSupplier;
        this.configuration.setChannel(channel);
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router endpoint URI: {}", uri);
    }
Pair #1854 Negative (Non-Clone)
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #1855 Negative (Non-Clone)
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
Pair #1856 Negative (Non-Clone)
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
Pair #1857 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #1858 Negative (Non-Clone)
ID: 1187_1014
ClassID: 1187
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.hasNext()
    public boolean hasNext() {
        try {
            if (tarInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = tarInputStream.getCurrentEntry() != null && tarInputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    tarInputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
                if (first && parent == null) {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 980_835
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/ParseException.java
Name: org.apache.camel.component.sql.stored.template.generated.ParseException.add_escapes(String str)
  static String add_escapes(String str) {
      StringBuilder retval = new StringBuilder();
      char ch;
      for (int i = 0; i < str.length(); i++) {
        switch (str.charAt(i))
        {
           case '\b':
              retval.append("\\b");
              continue;
           case '\t':
              retval.append("\\t");
              continue;
           case '\n':
              retval.append("\\n");
              continue;
           case '\f':
              retval.append("\\f");
              continue;
           case '\r':
              retval.append("\\r");
              continue;
           case '\"':
              retval.append("\\\"");
              continue;
           case '\'':
              retval.append("\\\'");
              continue;
           case '\\':
              retval.append("\\\\");
              continue;
           default:
              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                 String s = "0000" + Integer.toString(ch, 16);
                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
              } else {
                 retval.append(ch);
              }
              continue;
        }
      }
      return retval.toString();
   }
Pair #1859 Negative (Non-Clone)
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1860 Negative (Non-Clone)
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
ID: 697_637
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsertList(Exchange exchange, SqlSession session)
    private void doInsertList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Inserting: {} using statement: {}", in, statement);
            result = session.insert(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #1861 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1862 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #1863 Negative (Non-Clone)
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2460_1962
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentDependencies(Set<String> deps)
    protected void copyAgentDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("agent:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "agent");
                Files.createDirectories(libDirPath);
                String n = d.substring(6);
                MavenGav gav = MavenGav.parseGav(n);
                copyAgentLibDependencies(gav);
            }
        }
    }
Pair #1864 Negative (Non-Clone)
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 2504_2052
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withIsSecret(JsonNode node)
        public AnnotationBuilder withIsSecret(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withIsSecret(node.asBoolean());
        }
Pair #1865 Negative (Non-Clone)
ID: 2438_1912
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GistHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GistHelper.resolveGistAsRawFiles(String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGistAsRawFiles(
            String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root.get("files")) {
                String name = c.get("filename").asText();
                String ext = FileUtil.onlyExt(name, false);
                if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    kamelets.add(u);
                } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    properties.add(u);
                } else if (routes != null) {
                    if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                            || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                        String rawUrl = c.get("raw_url").asText();
                        String u = asGistSingleUrl(rawUrl);
                        routes.add(u);
                    }
                } else if (all != null) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    all.add(u);
                }
            }
        }
    }
ID: 348_398
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.createRecord(Exchange exchange)
    private void createRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.POST, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
Pair #1866 Negative (Non-Clone)
ID: 701_646
ClassID: 701
File: systems/camel-java/components/camel-jte/src/main/java/org/apache/camel/component/jte/JteComponent.java
Name: org.apache.camel.component.jte.JteComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JteEndpoint endpoint = new JteEndpoint(uri, this, remaining);
        endpoint.setAllowTemplateFromHeader(allowTemplateFromHeader);
        endpoint.setAllowContextMapAll(allowContextMapAll);
        endpoint.setContentCache(contentCache);

        setProperties(endpoint, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            endpoint.setResourceUri(remaining);
        }

        return endpoint;
    }
ID: 220_252
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/transform/Ddb2StreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.ddbstream.transform.Ddb2StreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.ddbstream.getRecords");

        if (message.getHeaders().containsKey(Ddb2StreamConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.ddbstream." + message.getHeader(Ddb2StreamConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Ddb2StreamConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1867 Negative (Non-Clone)
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #1868 Negative (Non-Clone)
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 2650_2311
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.predecessor(E e)
    public E predecessor(E e) {
        E elem = lower(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().predecessor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #1869 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
Pair #1870 Negative (Non-Clone)
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1871 Negative (Non-Clone)
ID: 2577_2168
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeDataFormat()
    private void executeDataFormat() throws MojoExecutionException {
         
        final String kind = "dataformat";
        List<String> dataFormatNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!dataFormatNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + dataFormatNames.size() + " dataformats");
            }

            for (String dataFormatName : dataFormatNames) {
                String json = loadJsonFrom(jsonFiles, kind, dataFormatName);
                if (json != null) {
                     
                    dataFormatName = asDataFormatName(dataFormatName);

                    File file = new File(dataformatDocDir, dataFormatName + "-" + kind + ".adoc");

                    DataFormatModel model = generateDataFormatModel(json);
                     
                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        model.getOptions().stream().filter(o -> "type".equals(o.getName()))
                                .forEach(o -> o.setDefaultValue(null));
                    }

                    String title = asDataFormatTitle(model.getName(), model.getTitle());
                    model.setTitle(title);

                    boolean exists = file.exists();
                    boolean updated = updateHeader(dataFormatName, file, model, " DataFormat");
                    checkSince(file);

                    String options = evaluateTemplate("dataformat-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        updated |= updateAnnotationsIn(file);
                    }

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No dataformat doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }

                }
            }
        }
    }
ID: 2514_2071
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asScalarMap(Node node)
    public static Map<String, Object> asScalarMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
Pair #1872 Negative (Non-Clone)
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #1873 Negative (Non-Clone)
ID: 243_315
ClassID: 243
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;

        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from CyberArk Conjur vault using key: " + key + " due to: " + e.getMessage(),
                        e);
            }
        }

        return returnValue;
    }
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
Pair #1874 Negative (Non-Clone)
ID: 1492_1334
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final UUID node)
    public static String nodeValue(final String namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 1875_1548
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getType()
    public Knative.Type getType() {
        Knative.Type answer = this.type;
        if (answer == null) {
            String stringValue = getMetadata(Knative.KNATIVE_TYPE);
            if (stringValue != null) {
                answer = Knative.Type.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #1875 Negative (Non-Clone)
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
ID: 1864_1535
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKey(String keyId)
    public KeyPair getKey(String keyId) throws Exception {
        if (keyCache.containsKey(keyId)) {
            return keyCache.get(keyId);
        }

        Path keyFile = getKeyFile(keyId);
        if (!Files.exists(keyFile)) {
            throw new IllegalArgumentException("Key not found: " + keyId);
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(keyFile)))) {
            KeyPair keyPair = (KeyPair) ois.readObject();
            keyCache.put(keyId, keyPair);
            return keyPair;
        }
    }
Pair #1876 Negative (Non-Clone)
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #1877 Negative (Non-Clone)
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #1878 Negative (Non-Clone)
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1879 Negative (Non-Clone)
ID: 2363_1859
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode text = firstOutput.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
ID: 2191_1729
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.detachVolumeToDroplet(Exchange exchange)
    private void detachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().detachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().detachVolume(dropletId, volumeId, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);

    }
Pair #1880 Negative (Non-Clone)
ID: 900_771
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/BatchGoogleCalendarClientFactory.java
Name: org.apache.camel.component.google.calendar.BatchGoogleCalendarClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Calendar makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Calendar client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Calendar.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Calendar client.", e);
        }
    }
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #1881 Negative (Non-Clone)
ID: 2302_1825
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getAsyncClient(final Kinesis2Endpoint endpoint)
    public KinesisAsyncClient getAsyncClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisAsyncClient)) {
                kinesisAsyncClient = endpoint.getConfiguration().getAmazonKinesisAsyncClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisAsyncClient()
                        : KinesisClientFactory.getKinesisAsyncClient(endpoint.getConfiguration());
            }
            return kinesisAsyncClient;
        } finally {
            lock.unlock();
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #1882 Negative (Non-Clone)
ID: 1939_1589
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1883 Negative (Non-Clone)
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #1884 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
Pair #1885 Negative (Non-Clone)
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1886 Negative (Non-Clone)
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #1887 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #1888 Negative (Non-Clone)
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
ID: 2339_1842
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #1889 Negative (Non-Clone)
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #1890 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #1891 Negative (Non-Clone)
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 3306_2716
ClassID: 3306
File: systems/camel-java/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
Name: org.apache.camel.xml.io.util.XmlStreamReader.XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding)
    public XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding) throws IOException,
                                                                                                      XmlStreamReaderException {
        if (defaultEncoding == null) {
            this.defaultEncoding = staticDefaultEncoding;
        } else {
            this.defaultEncoding = defaultEncoding;
        }
        try {
            doRawStream(is, lenient);
        } catch (final XmlStreamReaderException ex) {
            if (!lenient) {
                throw ex;
            } else {
                doLenientDetection(null, ex);
            }
        }
    }
Pair #1892 Negative (Non-Clone)
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
Pair #1893 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
Pair #1894 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 893_745
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaEndpoint.java
Name: org.apache.camel.component.chroma.ChromaEndpoint.getClient()
    public Client getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();

                    if (this.client == null) {
                        this.client = createClient();
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
Pair #1895 Negative (Non-Clone)
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 1066_923
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatement(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatement(Exchange exchange, String sql, Connection conn) throws Exception {

        Statement stmt = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            stmt = conn.createStatement();
            bindParameters(exchange, stmt);

            LOG.debug("Executing JDBC Statement: {}", sql);

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            boolean stmtExecutionResult;
            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    stmtExecutionResult = stmt.execute(sql, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    stmtExecutionResult = stmt.execute(sql, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    stmtExecutionResult = stmt.execute(sql, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                stmtExecutionResult = stmt.execute(sql);
            }

            if (stmtExecutionResult) {
                rs = stmt.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = stmt.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, stmt.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(stmt);
            } else {
                final Statement finalStmt = stmt;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalStmt);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
Pair #1896 Negative (Non-Clone)
ID: 3271_2644
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #1897 Negative (Non-Clone)
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 112_104
ClassID: 112
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
Name: org.apache.camel.component.servlet.ServletComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "servlet");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #1898 Negative (Non-Clone)
ID: 714_652
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
Name: org.apache.camel.observation.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2588_2192
ClassID: 2588
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
Name: org.apache.camel.maven.packaging.PrepareComponentMojo.syncAllComponentsPomFile()
    private void syncAllComponentsPomFile() throws MojoExecutionException {
        Path root = findCamelDirectory(project.getBasedir(), "catalog/camel-allcomponents").toPath();
        Path pomFile = root.resolve("pom.xml");

        final String startDependenciesMarker = "<dependencies>";
        final String endDependenciesMarker = "</dependencies>";

        if (!Files.isRegularFile(pomFile)) {
            throw new MojoExecutionException("Pom file " + pomFile + " does not exist");
        }

        try {
            final String pomText = loadText(pomFile);

            final String before = Strings.before(pomText, startDependenciesMarker);
            final String after = Strings.after(pomText, endDependenciesMarker);

            final String between = pomText.substring(before.length(), pomText.length() - after.length());

             
            Pattern pattern = Pattern.compile(
                    "<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>");
            Matcher matcher = pattern.matcher(between);
            TreeSet<MavenGav> dependencies = new TreeSet<>();
            while (matcher.find()) {
                MavenGav gav = new MavenGav(matcher.group(1), matcher.group(2), "${project.version}", null);
                dependencies.add(gav);
            }
             
            dependencies.add(new MavenGav(project.getGroupId(), project.getArtifactId(), "${project.version}", null));

             
            String s = dependencies.stream()
                     
                    .filter(g -> !g.artifactId.contains("-maven-plugin"))
                    .map(g -> g.asString("        "))
                    .collect(Collectors.joining("\n"));
            final String updatedPom = before + startDependenciesMarker
                                      + "\n" + s + "\n"
                                      + "    " + endDependenciesMarker + after;

            updateResource(root, "pom.xml", updatedPom);
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + pomFile + " Reason: " + e, e);
        }
    }
Pair #1899 Negative (Non-Clone)
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1900 Negative (Non-Clone)
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #1901 Negative (Non-Clone)
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
ID: 898_761
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarComponent.getClient(GoogleCalendarConfiguration config)
    public Calendar getClient(GoogleCalendarConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Calendar client");
            }
        }
        return client;
    }
Pair #1902 Negative (Non-Clone)
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
Pair #1903 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 1309_1165
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.eventReceived(Action action, HorizontalPodAutoscaler resource)
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1904 Negative (Non-Clone)
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
Pair #1905 Negative (Non-Clone)
ID: 182_171
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeApiClient.tryToReadResponse(final Class<T> expectedType, final InputStream responseStream)
    <T> Optional<T> tryToReadResponse(final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJson(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
Pair #1906 Negative (Non-Clone)
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
ID: 2558_2129
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelSimpleExpressionDetails> simpleExpressions)
    public static void parseXmlRouteSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelSimpleExpressionDetails> simpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "simple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelSimpleExpressionDetails detail = new CamelSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setSimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                simpleExpressions.add(detail);
            }
        }
    }
Pair #1907 Negative (Non-Clone)
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #1908 Negative (Non-Clone)
ID: 307_374
ClassID: 307
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/CqlSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.CqlSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #1909 Negative (Non-Clone)
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
ID: 2613_2256
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JacksonXMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JacksonXMLDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("xmlMapper", definition.getXmlMapper());
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("include", definition.getInclude());
        properties.put("allowJmsType", definition.getAllowJmsType());
        properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
        properties.put("useList", definition.getUseList());
        properties.put("enableJaxbAnnotationModule", definition.getEnableJaxbAnnotationModule());
        properties.put("modulesClassNames", definition.getModuleClassNames());
        properties.put("moduleRefs", definition.getModuleRefs());
        properties.put("enableFeatures", definition.getEnableFeatures());
        properties.put("disableFeatures", definition.getDisableFeatures());
        properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
        properties.put("timezone", definition.getTimezone());
        properties.put("maxStringLength", definition.getMaxStringLength());
    }
Pair #1910 Negative (Non-Clone)
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
ID: 2453_1948
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getSupportLevel(Object kamelet)
    private static String getSupportLevel(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getAnnotations");
        @SuppressWarnings("unchecked")
        Map<String, String> anns = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (anns != null) {
            return anns.get("camel.apache.org/kamelet.support.level");
        }
        return null;
    }
Pair #1911 Negative (Non-Clone)
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #1912 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #1913 Negative (Non-Clone)
ID: 1042_905
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 18_26
ClassID: 18
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer target = (org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer) obj;
        switch (key) {
        case "query":
        case "QUERY": target.onQuery(exchange.getMessage()); return null;
        case "stats":
        case "STATS": target.onStats(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1914 Negative (Non-Clone)
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 110_102
ClassID: 110
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
Name: org.apache.camel.impl.console.DefaultDevConsoleRegistry.register(DevConsole console)
    public boolean register(DevConsole console) {
        boolean result;
         
        if (getConsole(console.getId()).isPresent()) {
            return false;
        }
        result = consoles.add(console);
        if (result) {
            CamelContextAware.trySetCamelContext(console, camelContext);
             
            ServiceHelper.startService(console);
            LOG.debug("DevConsole with id {} successfully registered", console.getId());
        }
        return result;
    }
Pair #1915 Negative (Non-Clone)
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 235_291
ClassID: 235
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.isMatched(Supplier<GenericFile<FTPFile>> file, String doneFileName, FTPFile[] files)
    protected boolean isMatched(Supplier<GenericFile<FTPFile>> file, String doneFileName, FTPFile[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (FTPFile f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #1916 Negative (Non-Clone)
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 2244_1765
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
Pair #1917 Negative (Non-Clone)
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #1918 Negative (Non-Clone)
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
Pair #1919 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #1920 Negative (Non-Clone)
ID: 657_580
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
Name: org.apache.camel.component.openstack.nova.NovaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NovaConstants.NOVA_SUBSYSTEM_FLAVORS:
                return new FlavorsProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_SERVERS:
                return new ServerProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_KEYPAIRS:
                return new KeypairProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #1921 Negative (Non-Clone)
ID: 3261_2620
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> answer = new LinkedHashMap<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.put(pair.getName(), type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }

        return answer;
    }
ID: 3290_2690
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.createKeyManagers()
    public KeyManager[] createKeyManagers() throws GeneralSecurityException, IOException {
        LOG.trace("Creating KeyManager[] from KeyManagersParameters [{}].", this);
        KeyManager[] keyManagers;

        String kmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (this.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, this.parsePropertyValue(this.getProvider()));
        }

        LOG.debug("KeyManagerFactory [{}], initialized from [{}], is using provider [{}] and algorithm [{}].",
                kmf, this, kmf.getProvider(), kmf.getAlgorithm());

        char[] kmfPassword = null;
        if (this.getKeyPassword() != null) {
            kmfPassword = this.parsePropertyValue(this.getKeyPassword()).toCharArray();
        }

        KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        keyManagers = kmf.getKeyManagers();

        LOG.debug("KeyManager[] [{}], initialized from KeyManagerFactory [{}].", keyManagers, kmf);

        return keyManagers;
    }
Pair #1922 Negative (Non-Clone)
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #1923 Negative (Non-Clone)
ID: 2660_2338
ClassID: 2660
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
Name: org.apache.camel.component.properties.DefaultPropertiesFunctionResolver.resolve(CamelContext context, String name)
    private PropertiesFunction resolve(CamelContext context, String name) {
         
        Class<?> type = null;
        try {
            type = findFactory(name, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PropertiesFunction: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), name);
            }
            if (PropertiesFunction.class.isAssignableFrom(type)) {
                PropertiesFunction answer = (PropertiesFunction) context.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
                ServiceHelper.startService(answer);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PropertiesFunction implementation. Found: " + type.getName());
            }
        }

        return null;
    }
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #1924 Negative (Non-Clone)
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
Pair #1925 Negative (Non-Clone)
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
ID: 2249_1775
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPut(Message message)
    public void onPut(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.put(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.put(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.put(key, value);
        }

        setResult(message, result);
    }
Pair #1926 Negative (Non-Clone)
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
Pair #1927 Negative (Non-Clone)
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #1928 Negative (Non-Clone)
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
ID: 2610_2244
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateDataFormatModel(JsonObject obj)
    public static DataFormatModel generateDataFormatModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("dataformat");
        DataFormatModel model = new DataFormatModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            DataFormatOptionModel option = new DataFormatOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        return model;
    }
Pair #1929 Negative (Non-Clone)
ID: 2232_1759
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowBranches(Exchange exchange, String operation)
    protected void doShowBranches(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.branchList().setListMode(ListMode.ALL).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #1930 Negative (Non-Clone)
ID: 1893_1565
ClassID: 1893
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.parseArguments(String[] arguments)
    public void parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            initOptions();
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }
        if (!valid) {
            showOptions();
            completed();
        }
    }
ID: 2660_2336
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollDynamicAwareResolver.java
Name: org.apache.camel.processor.PollDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public PollDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PollDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (PollDynamicAware.class.isAssignableFrom(type)) {
                PollDynamicAware answer = (PollDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PollDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #1931 Negative (Non-Clone)
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #1932 Negative (Non-Clone)
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
Pair #1933 Negative (Non-Clone)
ID: 597_552
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
Name: org.apache.camel.component.fhir.FhirJsonDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newJsonParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));

        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1934 Negative (Non-Clone)
ID: 3304_2715
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseEpilog()
    protected int parseEpilog() throws XmlPullParserException, IOException {
        if (eventType == END_DOCUMENT) {
            throw new XmlPullParserException("already reached end of XML input", this, null);
        }
        if (reachedEnd) {
            return eventType = END_DOCUMENT;
        }
        boolean gotS = false;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        try {
             
            char ch;
            if (seenMarkup) {
                ch = buf[pos - 1];
            } else {
                ch = more();
            }
            seenMarkup = false;
            posStart = pos - 1;
            if (!reachedEnd) {
                while (true) {
                     
                     
                    if (ch == '<') {
                        if (gotS && tokenize) {
                            posEnd = pos - 1;
                            seenMarkup = true;
                            return eventType = IGNORABLE_WHITESPACE;
                        }
                        ch = more();
                        if (reachedEnd) {
                            break;
                        }
                        if (ch == '?') {
                             
                             
                            parsePI();
                            if (tokenize)
                                return eventType = PROCESSING_INSTRUCTION;

                        } else if (ch == '!') {
                            ch = more();
                            if (reachedEnd) {
                                break;
                            }
                            if (ch == 'D') {
                                parseDocdecl();  
                                if (tokenize)
                                    return eventType = DOCDECL;
                            } else if (ch == '-') {
                                parseComment();
                                if (tokenize)
                                    return eventType = COMMENT;
                            } else {
                                throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                            }
                        } else if (ch == '/') {
                            throw new XmlPullParserException(
                                    "end tag not allowed in epilog but got " + printable(ch), this, null);
                        } else if (isNameStartChar(ch)) {
                            throw new XmlPullParserException(
                                    "start tag not allowed in epilog but got " + printable(ch), this, null);
                        } else {
                            throw new XmlPullParserException(
                                    "in epilog expected ignorable content and not " + printable(ch), this, null);
                        }
                    } else if (isS(ch)) {
                        gotS = true;
                        if (normalizeIgnorableWS) {
                            if (ch == '\r') {
                                normalizedCR = true;
                                 
                                 
                                 
                                if (!usePC) {
                                    posEnd = pos - 1;
                                    if (posEnd > posStart) {
                                        joinPC();
                                    } else {
                                        usePC = true;
                                        pcStart = pcEnd = 0;
                                    }
                                }
                                 
                                if (pcEnd >= pc.length)
                                    ensurePC(pcEnd);
                                pc[pcEnd++] = '\n';
                            } else if (ch == '\n') {
                                if (!normalizedCR && usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = '\n';
                                }
                                normalizedCR = false;
                            } else {
                                if (usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = ch;
                                }
                                normalizedCR = false;
                            }
                        }
                    } else {
                        throw new XmlPullParserException(
                                "in epilog non whitespace content is not allowed but got " + printable(ch), this, null);
                    }
                    ch = more();
                    if (reachedEnd) {
                        break;
                    }

                }
            }

             
             
             
        } catch (EOFException ex) {
            reachedEnd = true;
        }
        if (tokenize && gotS) {
            posEnd = pos;  
            return eventType = IGNORABLE_WHITESPACE;
        }
        return eventType = END_DOCUMENT;
    }
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1935 Negative (Non-Clone)
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
Pair #1936 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
Pair #1937 Negative (Non-Clone)
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
Pair #1938 Negative (Non-Clone)
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1939 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 27_47
ClassID: 27
File: systems/camel-java/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TwilioConverterLoader.java
Name: org.apache.camel.component.twilio.TwilioConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.twilio.type.Endpoint.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.twilio.TwilioConverter.toPhoneNumber((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.twilio.type.Sip.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.twilio.TwilioConverter.toSip((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1940 Negative (Non-Clone)
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
ID: 1550_1372
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslySetData(ProductionContext ctx)
    private OperationResult synchronouslySetData(ProductionContext ctx) throws Exception {

        SetDataOperation setData = new SetDataOperation(ctx.connection, ctx.node, ctx.payload);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
Pair #1941 Negative (Non-Clone)
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
Pair #1942 Negative (Non-Clone)
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1943 Negative (Non-Clone)
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
Pair #1944 Negative (Non-Clone)
ID: 2523_2091
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
ID: 2563_2137
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getClassJavadocRaw(AbstractJavaSource clazz, String rawClass)
    private static String getClassJavadocRaw(AbstractJavaSource clazz, String rawClass) {
        Object obj = clazz.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
Pair #1945 Negative (Non-Clone)
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
Pair #1946 Negative (Non-Clone)
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
Pair #1947 Negative (Non-Clone)
ID: 2385_1875
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
Name: org.apache.camel.component.irc.IrcProducer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
ID: 1913_1574
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.startRouteImpl(Route route)
    private void startRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Stopped) {
            LOG.info("Starting {}", route.getId());
            startRoute(route);
        } else if (routeStatus == ServiceStatus.Suspended) {
            LOG.info("Resuming {}", route.getId());
            startConsumer(route.getConsumer());
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
Pair #1948 Negative (Non-Clone)
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #1949 Negative (Non-Clone)
ID: 1982_1621
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/OutputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.OutputLengthGuardrail.OutputLengthGuardrail(int maxChars, int minChars, boolean truncateOnOverflow)
    public OutputLengthGuardrail(int maxChars, int minChars, boolean truncateOnOverflow) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
        this.truncateOnOverflow = truncateOnOverflow;
    }
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #1950 Negative (Non-Clone)
ID: 1492_1335
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final ByteString node)
    public static String nodeValue(final String namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 1250_1085
ClassID: 1250
File: systems/camel-java/components/camel-reactive-executor-tomcat/src/main/java/org/apache/camel/reactive/tomcat/TomcatReactiveExecutor.java
Name: org.apache.camel.reactive.tomcat.TomcatReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                if (stats) {
                    executor.pendingTasks.decrement();
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception e) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", e.getMessage(), e);
            }
            return true;
        }
Pair #1951 Negative (Non-Clone)
ID: 2507_2058
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlPropertyWithFormat(String name, String type, String format, boolean required, boolean deprecated)
    protected static AnnotationSpec yamlPropertyWithFormat(
            String name, String type, String format, boolean required, boolean deprecated) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        builder.addMember("format", "$S", format);

        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }

        return builder.build();
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #1952 Negative (Non-Clone)
ID: 1036_890
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.remove(final String uriTemplate)
    public CamelPathTemplateHandler remove(final String uriTemplate) {
        lock.lock();
        try {
            delegate.remove(uriTemplate);
            handlers.remove(uriTemplate);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #1953 Negative (Non-Clone)
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
Pair #1954 Negative (Non-Clone)
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #1955 Negative (Non-Clone)
ID: 119_111
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPublicKeyName(String publicKeyName)
    public void setPublicKeyName(String publicKeyName) {
        if (context != null && publicKeyName != null) {
            PublicKey pk = context.getRegistry().lookupByNameAndType(publicKeyName, PublicKey.class);
            if (pk != null) {
                setPublicKey(pk);
            }
        }
        if (publicKeyName != null) {
            this.publicKeyName = publicKeyName;
        }
    }
ID: 233_284
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareFileClient fileClient)
    private boolean existsRemote(ShareFileClient fileClient) {
        try {
            return Boolean.TRUE
                    .equals(fileClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
Pair #1956 Negative (Non-Clone)
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
ID: 3251_2599
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean.getObject()
    public SecureRandomParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #1957 Negative (Non-Clone)
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
ID: 53_68
ClassID: 53
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = replicatedCache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!replicatedCache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #1958 Negative (Non-Clone)
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #1959 Negative (Non-Clone)
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #1960 Negative (Non-Clone)
ID: 1939_1589
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
ID: 836_717
ClassID: 836
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Producer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Producer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectionOptions);
        }
    }
Pair #1961 Negative (Non-Clone)
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
ID: 1331_1234
ClassID: 1331
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java
Name: org.apache.camel.component.grpc.GrpcConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (this.isRunAllowed()) {
            this.getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #1962 Negative (Non-Clone)
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
Pair #1963 Negative (Non-Clone)
ID: 375_405
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getEndpoint().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
ID: 2338_1838
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Producer.java
Name: org.apache.camel.component.aws2.sns.Sns2Producer.configureFifoAttributes(PublishRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(PublishRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoTopic()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #1964 Negative (Non-Clone)
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
Pair #1965 Negative (Non-Clone)
ID: 3110_2396
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesAdapter.java
Name: org.apache.camel.model.app.BeanPropertiesAdapter.marshal(Map<String, Object> v)
    public BeanPropertiesDefinition marshal(Map<String, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanPropertyDefinition[] result = new BeanPropertyDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<String, Object> entry : v.entrySet()) {
            String k = entry.getKey();
            Object value = entry.getValue();
            BeanPropertyDefinition pd = new BeanPropertyDefinition();
            pd.setKey(k);
            if (value instanceof Map) {
                pd.setProperties(marshal((Map<String, Object>) value));
            } else {
                pd.setValue(value.toString());
            }
            result[pos++] = pd;
        }
        BeanPropertiesDefinition propertiesDefinition = new BeanPropertiesDefinition();
        propertiesDefinition.setProperties(Arrays.asList(result));
        return propertiesDefinition;
    }
ID: 1308_1156
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.run()
        public void run() {
            NonNamespaceOperation<Node, NodeList, Resource<Node>> w = getEndpoint().getKubernetesClient().nodes();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #1966 Negative (Non-Clone)
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 3231_2545
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyExpression(final String name)
    public static Expression mandatoryBodyExpression(final String name) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                try {
                    return exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "]";
            }
        };
    }
Pair #1967 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 3282_2674
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createPredicate(String expression, Object[] properties)
    public Predicate createPredicate(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        return createPredicate(input, expression, properties);
    }
Pair #1968 Negative (Non-Clone)
ID: 701_645
ClassID: 701
File: systems/camel-java/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java
Name: org.apache.camel.component.stringtemplate.StringTemplateComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining);
        answer.setContentCache(contentCache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
Pair #1969 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 3261_2621
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        Set<T> answer = new LinkedHashSet<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.add(type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }
        return answer;
    }
Pair #1970 Negative (Non-Clone)
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1971 Negative (Non-Clone)
ID: 2026_1645
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object url = props.get("brokerURL");
        if (url != null) {
            return url.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getBrokerURLFromConnectionFactory(bi, ncf);
            }
        }
        return artemisBrokerURL(cf);
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1972 Negative (Non-Clone)
ID: 2438_1913
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GitHubHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GitHubHelper.resolveGithubAsRawFiles(String url, String wildcard, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGithubAsRawFiles(
            String url, String wildcard, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root) {
                String name = c.get("name").asText();
                String ext = FileUtil.onlyExt(name, false);
                boolean match = wildcard == null || AntPathMatcher.INSTANCE.match(wildcard, name, false);
                if (match) {
                    if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        kamelets.add(u);
                    } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        properties.add(u);
                    } else if (routes != null) {
                        if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                                || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                            String htmlUrl = c.get("html_url").asText();
                            String u = asGithubSingleUrl(htmlUrl);
                            routes.add(u);
                        }
                    } else if (all != null) {
                        String htmlUrl = c.get("html_url").asText();
                        String u = asGithubSingleUrl(htmlUrl);
                        all.add(u);
                    }
                }
            }
        }
    }
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
Pair #1973 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 2272_1796
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.namedQuery(final String namedQuery)
    public static QueryBuilder namedQuery(final String namedQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNamedQuery(namedQuery);
            }

            @Override
            public String toString() {
                return "Named: " + namedQuery + getParameterDescription();
            }
        };
    }
Pair #1974 Negative (Non-Clone)
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
Pair #1975 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #1976 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 187_184
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case GET_BATCH:
                    processGetBatch(exchange, callback);
                    break;
                case GET_ALL_BATCHES:
                    processGetAllBatches(exchange, callback);
                    break;
                case GET_REQUEST:
                    processGetRequest(exchange, callback);
                    break;
                case GET_RESULTS:
                    processGetResults(exchange, callback);
                    break;
                case CREATE_BATCH_QUERY:
                    processCreateBatchQuery(exchange, callback);
                    break;
                case GET_QUERY_RESULT_IDS:
                    processGetQueryResultIds(exchange, callback);
                    break;
                case GET_QUERY_RESULT:
                    processGetQueryResult(exchange, callback);
                    break;
                default:
                    throw new SalesforceException("Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(), e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(), e.getMessage()), e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
Pair #1977 Negative (Non-Clone)
ID: 1858_1520
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.loadExistingKeys()
    private void loadExistingKeys() throws Exception {
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        if (keyIds != null) {
            LOG.info("Found {} existing keys in Vault", keyIds.size());

            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        LOG.debug("Loaded existing key from Vault: {}", metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load key from Vault: {}", keyId, e);
                }
            }
        }
    }
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
Pair #1978 Negative (Non-Clone)
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #1979 Negative (Non-Clone)
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
Pair #1980 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1981 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 1957_1594
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.deleteByIds(Exchange exchange)
    private void deleteByIds(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        DeleteResponse result
                = index.deleteByIds(elements);

        populateDeleteResponse(result, exchange);
    }
Pair #1982 Negative (Non-Clone)
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #1983 Negative (Non-Clone)
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
ID: 243_315
ClassID: 243
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;

        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from CyberArk Conjur vault using key: " + key + " due to: " + e.getMessage(),
                        e);
            }
        }

        return returnValue;
    }
Pair #1984 Negative (Non-Clone)
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 350_404
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureProxyAuthorizationPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureProxyAuthorizationPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        ProxyAuthorizationPolicy proxyPolicy = configuration.getProxyAuthorizationPolicy();
        if (proxyPolicy == null) {
            String username = configuration.getProxyUserName();
            String password = configuration.getProxyPassword();

            if (username != null && password != null) {
                proxyPolicy = new ProxyAuthorizationPolicy();
                proxyPolicy.setAuthorizationType("Basic");
                proxyPolicy.setUserName(username);
                proxyPolicy.setPassword(password);
            }
        }

        if (proxyPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setProxyAuthorization(proxyPolicy);
        }
    }
Pair #1985 Negative (Non-Clone)
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #1986 Negative (Non-Clone)
ID: 444_471
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketStringDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketStringDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(payload.toString(charset), msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 2201_1730
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GitHubResource.java
Name: org.apache.camel.github.GitHubResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
Pair #1987 Negative (Non-Clone)
ID: 2269_1789
ClassID: 2269
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createQueryFactory()
    protected QueryFactory createQueryFactory() {
        if (query != null) {
            return QueryBuilder.query(query);
        } else if (namedQuery != null) {
            return QueryBuilder.namedQuery(namedQuery);
        } else if (nativeQuery != null) {
            if (resultClass != null) {
                return QueryBuilder.nativeQuery(nativeQuery, resultClass);
            } else {
                return QueryBuilder.nativeQuery(nativeQuery);
            }
        } else {
            Class<?> entityType = getEndpoint().getEntityType();

            if (entityType == null) {
                return null;
            } else {
                 
                String name = getEntityName(entityType);
                if (name != null) {
                    return QueryBuilder.query("select x from " + name + " x");
                } else {
                     
                    return QueryBuilder.query("select x from " + entityType.getSimpleName() + " x");
                }
            }
        }
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #1988 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #1989 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #1990 Negative (Non-Clone)
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
Pair #1991 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #1992 Negative (Non-Clone)
ID: 9_0
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, LoadingCache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "LoadingCache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
ID: 3249_2593
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomServices()
    private void setupCustomServices() {
        ModelJAXBContextFactory modelJAXBContextFactory = getBeanForType(ModelJAXBContextFactory.class);
        if (modelJAXBContextFactory != null) {
            LOG.info("Using custom ModelJAXBContextFactory: {}", modelJAXBContextFactory);
            getContext().getCamelContextExtension().addContextPlugin(ModelJAXBContextFactory.class, modelJAXBContextFactory);
        }
        ClassResolver classResolver = getBeanForType(ClassResolver.class);
        if (classResolver != null) {
            LOG.info("Using custom ClassResolver: {}", classResolver);
            getContext().setClassResolver(classResolver);
        }
        FactoryFinderResolver factoryFinderResolver = getBeanForType(FactoryFinderResolver.class);
        if (factoryFinderResolver != null) {
            LOG.info("Using custom FactoryFinderResolver: {}", factoryFinderResolver);
            getContext().getCamelContextExtension().addContextPlugin(FactoryFinderResolver.class, factoryFinderResolver);
        }
        ExecutorServiceManager executorServiceStrategy = getBeanForType(ExecutorServiceManager.class);
        if (executorServiceStrategy != null) {
            LOG.info("Using custom ExecutorServiceStrategy: {}", executorServiceStrategy);
            getContext().setExecutorServiceManager(executorServiceStrategy);
        }
        ThreadPoolFactory threadPoolFactory = getBeanForType(ThreadPoolFactory.class);
        if (threadPoolFactory != null) {
            LOG.info("Using custom ThreadPoolFactory: {}", threadPoolFactory);
            getContext().getExecutorServiceManager().setThreadPoolFactory(threadPoolFactory);
        }
        ProcessorFactory processorFactory = getBeanForType(ProcessorFactory.class);
        if (processorFactory != null) {
            LOG.info("Using custom ProcessorFactory: {}", processorFactory);
            getContext().getCamelContextExtension().addContextPlugin(ProcessorFactory.class, processorFactory);
        }
        Debugger debugger = getBeanForType(Debugger.class);
        if (debugger != null) {
            LOG.info("Using custom Debugger: {}", debugger);
            getContext().setDebugger(debugger);
        }
        setupUuidGenerator();
        NodeIdFactory nodeIdFactory = getBeanForType(NodeIdFactory.class);
        if (nodeIdFactory != null) {
            LOG.info("Using custom NodeIdFactory: {}", nodeIdFactory);
            getContext().getCamelContextExtension().addContextPlugin(NodeIdFactory.class, nodeIdFactory);
        }
        StreamCachingStrategy streamCachingStrategy = getBeanForType(StreamCachingStrategy.class);
        if (streamCachingStrategy != null) {
            LOG.info("Using custom StreamCachingStrategy: {}", streamCachingStrategy);
            getContext().setStreamCachingStrategy(streamCachingStrategy);
        }
        MessageHistoryFactory messageHistoryFactory = getBeanForType(MessageHistoryFactory.class);
        if (messageHistoryFactory != null) {
            LOG.info("Using custom MessageHistoryFactory: {}", messageHistoryFactory);
            getContext().setMessageHistoryFactory(messageHistoryFactory);
        }
        ReactiveExecutor reactiveExecutor = getBeanForType(ReactiveExecutor.class);
        if (reactiveExecutor != null) {
             
            getContext().getCamelContextExtension().setReactiveExecutor(reactiveExecutor);
        }
    }
Pair #1993 Negative (Non-Clone)
ID: 3333_2732
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsFunction(ThrowingFunction<I, R, T> function)
    public static <I, R, T extends Throwable> Function<I, R> wrapAsFunction(ThrowingFunction<I, R, T> function) {
        return new Function<>() {
            @Override
            public R apply(I in) {
                try {
                    return function.apply(in);

                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 2364_1862
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createChunksHandler(String modelId, StreamMetadata metadata, List<String> chunks, Consumer<String> chunkConsumer)
    public static InvokeModelWithResponseStreamResponseHandler createChunksHandler(
            String modelId,
            StreamMetadata metadata,
            List<String> chunks,
            Consumer<String> chunkConsumer) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);

                                if (text != null && !text.isEmpty()) {
                                    chunks.add(text);
                                    if (chunkConsumer != null) {
                                        chunkConsumer.accept(text);
                                    }
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setChunks(chunks);
                })
                .build();
    }
Pair #1994 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
Pair #1995 Negative (Non-Clone)
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #1996 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #1997 Negative (Non-Clone)
ID: 173_133
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createHandshakeListener()
    private MessageListener createHandshakeListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_HANDSHAKE]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Handshake failure: {}", message);
                handshakeError = (String) message.get(ERROR_FIELD);
                handshakeException = getFailure(message);
                if (handshakeError != null) {
                    if (handshakeError.startsWith("403::")) {
                        String failureReason = getFailureReason(message);
                        if (failureReason.equals(AUTHENTICATION_INVALID)) {
                            LOG.debug(
                                    "attempting login due to handshake error: 403 -> 401::Authentication invalid");
                            session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                        }
                    }
                }
                 
                LOG.debug("Handshake failed, so try again.");
                client.handshake();
            } else if (!channelToConsumers.isEmpty()) {
                channelsToSubscribe.clear();
                channelsToSubscribe.addAll(channelToConsumers.keySet());
                LOG.info("Handshake successful. Channels to subscribe: {}", channelsToSubscribe);
            }
        });
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #1998 Negative (Non-Clone)
ID: 174_137
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportDescription(String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback)
    public void getReportDescription(
            String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportsDescribeUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportDescription reportDescription = null;
                try {
                    reportDescription = unmarshalResponse(response, request, ReportDescription.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportDescription, headers, ex);
            }
        });
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #1999 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2000 Negative (Non-Clone)
ID: 878_728
ClassID: 878
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.LocalTimePatternFormat(String pattern, String timezone, Locale locale)
        LocalTimePatternFormat(String pattern, String timezone, Locale locale) {
            this.pattern = pattern;
            this.locale = locale;
            if (timezone.isEmpty()) {
                this.zone = ZoneId.systemDefault();
            } else {
                this.zone = ZoneId.of(timezone);
            }
        }
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2001 Negative (Non-Clone)
ID: 1275_1119
ClassID: 1275
File: systems/camel-java/core/camel-support/src/generated/java/org/apache/camel/converter/stream/StreamCacheBulkConverterLoader.java
Name: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #2002 Negative (Non-Clone)
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 2287_1803
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.describeVectorIndex(S3VectorsClient client, Exchange exchange)
    private void describeVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        GetIndexRequest request = GetIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Describing vector index [{}] in bucket [{}]", vectorIndexName, vectorBucketName);
        GetIndexResponse response = client.getIndex(request);
        LOG.trace("Describe vector index response: {}", response);

         
        message.setBody(response);
    }
Pair #2003 Negative (Non-Clone)
ID: 3245_2577
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
Name: org.apache.camel.reifier.RemovePropertiesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", this);
        RemovePropertiesProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemovePropertiesProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1170_1000
ClassID: 1170
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
Name: org.apache.camel.coap.CoAPEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        final Consumer consumer;
        if (isObserve()) {
            consumer = new CoAPObserver(this, processor);
        } else {
            consumer = new CoAPConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #2004 Negative (Non-Clone)
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2005 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
Pair #2006 Negative (Non-Clone)
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 2472_2010
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVariable.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListVariable.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jv = (JsonObject) root.get("variables");
                        if (jv != null) {
                            for (String id : jv.keySet()) {
                                JsonArray arr = jv.getCollection(id);
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.id = id;
                                        row.key = jo.getString("key");
                                        row.type = jo.getString("type");
                                        row.value = jo.get("value");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("REPO").headerAlign(HorizontalAlign.CENTER).with(r -> r.id),
                    new Column().header("TYPE").headerAlign(HorizontalAlign.CENTER)
                            .maxWidth(40, OverflowBehaviour.ELLIPSIS_LEFT).with(r -> r.type),
                    new Column().header("KEY").dataAlign(HorizontalAlign.LEFT).maxWidth(50, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.key),
                    new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).maxWidth(80, OverflowBehaviour.NEWLINE)
                            .with(this::getValue))));
        }

        return 0;
    }
Pair #2007 Negative (Non-Clone)
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
Pair #2008 Negative (Non-Clone)
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
Pair #2009 Negative (Non-Clone)
ID: 103_85
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientRole(Keycloak keycloakClient, Exchange exchange)
    private void updateClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().get(roleName)
                        .update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client role requires POJO request with RoleRepresentation");
        }
    }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #2010 Negative (Non-Clone)
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
ID: 1250_1085
ClassID: 1250
File: systems/camel-java/components/camel-reactive-executor-tomcat/src/main/java/org/apache/camel/reactive/tomcat/TomcatReactiveExecutor.java
Name: org.apache.camel.reactive.tomcat.TomcatReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                if (stats) {
                    executor.pendingTasks.decrement();
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception e) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", e.getMessage(), e);
            }
            return true;
        }
Pair #2011 Negative (Non-Clone)
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 2228_1744
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitTagConsumer.java
Name: org.apache.camel.component.git.consumer.GitTagConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().tagList().call();
        for (Ref ref : call) {
            if (!tagsConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
Pair #2012 Negative (Non-Clone)
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
Pair #2013 Negative (Non-Clone)
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
ID: 2440_1916
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugSpringBoot(KameletMain main)
    private int doRunDebugSpringBoot(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-debug-starter");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-cli-connector-starter");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId("org.springframework.boot");
            pi.setArtifactId("spring-boot-maven-plugin");
            pi.setVersion("${spring-boot-version}");
            PluginExecution pe = new PluginExecution();
            pe.addGoal("repackage");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Spring Boot for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "spring-boot:repackage");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        loggingColor ? "-Dspring.output.ansi.enabled=ALWAYS" : "-Dspring.output.ansi.enabled=NEVER",
                        "-jar", "target/camel-jbang-debug.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Spring Boot integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Spring Boot for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #2014 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
Pair #2015 Negative (Non-Clone)
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
Pair #2016 Negative (Non-Clone)
ID: 1125_959
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceVerificationConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceCompareBase64Req base64ReqBody
                        = new FaceCompareBase64Req().withImage1Base64(clientConfigurations.getImageBase64())
                                .withImage2Base64(clientConfigurations.getAnotherImageBase64());
                result = this.frsClient.compareFaceByBase64(new CompareFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceCompareUrlReq urlReqBody = new FaceCompareUrlReq().withImage1Url(clientConfigurations.getImageUrl())
                        .withImage2Url(clientConfigurations.getAnotherImageUrl());
                result = this.frsClient.compareFaceByUrl(new CompareFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream image1InputStream = new FileInputStream(clientConfigurations.getImageFilePath());
                     FileInputStream image2InputStream = new FileInputStream(clientConfigurations.getAnotherImageFilePath())) {
                    CompareFaceByFileRequestBody fileReqBody = new CompareFaceByFileRequestBody()
                            .withImage1File(image1InputStream, getFileName(clientConfigurations.getImageFilePath()))
                            .withImage2File(image2InputStream, getFileName(clientConfigurations.getAnotherImageFilePath()));
                    result = this.frsClient.compareFaceByFile(new CompareFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file paths are invalid: %s, %s", clientConfigurations.getImageFilePath(),
                                    clientConfigurations.getAnotherImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
Pair #2017 Negative (Non-Clone)
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
Pair #2018 Negative (Non-Clone)
ID: 1317_1220
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Config maps Cluster:");
            sb.append(String.format("\n    Master Url: %s", propertiesFunction.getClient().getMasterUrl()));
            sb.append("\n    Login: OAuth Token");
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (cmRefreshTask != null) {
                Instant start = cmRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
Pair #2019 Negative (Non-Clone)
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
ID: 1485_1323
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/SharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.SharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #2020 Negative (Non-Clone)
ID: 1006_867
ClassID: 1006
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
Pair #2021 Negative (Non-Clone)
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
Pair #2022 Negative (Non-Clone)
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
ID: 3239_2563
ClassID: 3239
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/TransactedReifier.java
Name: org.apache.camel.reifier.TransactedReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Policy policy = resolvePolicy();
        org.apache.camel.util.ObjectHelper.notNull(policy, "policy", this);

         
        policy.beforeWrap(route, definition);

         
        Processor childProcessor = this.createChildProcessor(true);

         
        Processor target = policy.wrap(route, childProcessor);

        if (!(target instanceof Service)) {
             
             
            target = new WrapProcessor(target, childProcessor);
        }
        return target;
    }
Pair #2023 Negative (Non-Clone)
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #2024 Negative (Non-Clone)
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2025 Negative (Non-Clone)
ID: 2097_1693
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUploadComplete(String host, String file)
    public void onUploadComplete(String host, String file) {
        String msg = "Uploading to host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #2026 Negative (Non-Clone)
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #2027 Negative (Non-Clone)
ID: 2575_2162
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DataTypeTransformerModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DATA_TYPE_ANNOTATION);
        annotations.forEach(a -> {
            DataTypeTransformerModel model = new DataTypeTransformerModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setName(annotationValue(a, "name"));
            model.setFrom(annotationValue(a, "from"));
            model.setTo(annotationValue(a, "to"));
            model.setDescription(annotationValue(a, "description"));
            models.add(model);
        });
        models.sort(Comparator.comparing(DataTypeTransformerModel::getName));

        if (!models.isEmpty()) {
            try {
                StringJoiner names = new StringJoiner(" ");
                for (var model : models) {
                    names.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/services/org/apache/camel/transformer/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated transformer json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "transformers", names.toString());
                updateResource(camelMetaDir.toPath(), "transformer.properties", properties);
                getLog().info("Generated transformer.properties containing " + count + " Camel "
                              + (count > 1 ? "transformers: " : "transformer: ") + names);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
ID: 1031_880
ClassID: 1031
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.createURI(Exchange exchange, String url)
    public static URI createURI(Exchange exchange, String url) throws URISyntaxException {
        URI uri = new URI(url);

         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(NettyHttpConstants.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(NettyHttpConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
             
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            if (ObjectHelper.isEmpty(uri.getPath())) {
                 
                uri = new URI(url + "/");
            }

            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #2028 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 27_45
ClassID: 27
File: systems/camel-java/components/camel-nitrite/src/generated/java/org/apache/camel/component/nitrite/NitriteTypeConvertersLoader.java
Name: org.apache.camel.component.nitrite.NitriteTypeConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.List.class, org.dizitart.no2.Cursor.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromCursorToList((org.dizitart.no2.Cursor) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.dizitart.no2.Document.class, java.util.Map.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromMapToDocument((java.util.Map) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2029 Negative (Non-Clone)
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #2030 Negative (Non-Clone)
ID: 1059_908
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java
Name: org.apache.camel.component.xmlsecurity.processor.SantuarioUtil.initializeSantuario()
    public static void initializeSantuario() {
         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
ID: 467_500
ClassID: 467
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.AS2ApiCollection()
    private AS2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(AS2ApiName.class);
        final Map<Class<? extends ApiMethod>, AS2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName", "receiptDeliveryOption", "ediMessageCharset", "userName", "password", "accessToken");
        apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper<>(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.SERVER, new ApiMethodHelper<>(AS2ServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ServerManagerApiMethod.class, AS2ApiName.SERVER);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.RECEIPT, new ApiMethodHelper<>(AS2AsyncMDNServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2AsyncMDNServerManagerApiMethod.class, AS2ApiName.RECEIPT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #2031 Negative (Non-Clone)
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
Pair #2032 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #2033 Negative (Non-Clone)
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 3278_2659
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThan(final Expression left, final Expression right)
    public static Predicate isLessThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) < 0;
            }

            protected String getOperationText() {
                return "<";
            }
        };
    }
Pair #2034 Negative (Non-Clone)
ID: 2525_2093
ClassID: 2525
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/Main.java
Name: org.apache.camel.main.Main.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #2035 Negative (Non-Clone)
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #2036 Negative (Non-Clone)
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #2037 Negative (Non-Clone)
ID: 3295_2701
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLSocketFactory>> getSSLSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLSocket>> sslSocketConfigurers = this.getSSLSocketFactorySSLSocketConfigurers(context);

        Configurer<SSLSocketFactory> sslSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLSocketFactory configure(SSLSocketFactory factory) {
                return new SSLSocketFactoryDecorator(
                        factory,
                        sslSocketConfigurers);
            }
        };

        List<Configurer<SSLSocketFactory>> sslSocketFactoryConfigurers = new LinkedList<>();
        sslSocketFactoryConfigurers.add(sslSocketFactoryConfigurer);

        return sslSocketFactoryConfigurers;
    }
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2038 Negative (Non-Clone)
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #2039 Negative (Non-Clone)
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #2040 Negative (Non-Clone)
ID: 893_749
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusEndpoint.java
Name: org.apache.camel.component.milvus.MilvusEndpoint.getClient()
    public MilvusClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2041 Negative (Non-Clone)
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
Pair #2042 Negative (Non-Clone)
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #2043 Negative (Non-Clone)
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2046_1659
ClassID: 2046
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.SftpChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #2044 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 1213_1035
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
Pair #2045 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2046 Negative (Non-Clone)
ID: 2053_1674
ClassID: 2053
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java
Name: org.apache.camel.component.file.GenericFilePollingConsumer.receiveNoWait(Exchange exchange)
    public Exchange receiveNoWait(Exchange exchange) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("receiveNoWait polling file: {}", getConsumer().getEndpoint());
        }
        int polled = doReceive(exchange, 0);
        if (polled > 0) {
            return super.receive(0);
        } else {
            return null;
        }
    }
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
Pair #2047 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
Pair #2048 Negative (Non-Clone)
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #2049 Negative (Non-Clone)
ID: 379_417
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.JmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #2050 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
Pair #2051 Negative (Non-Clone)
ID: 2521_2077
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyHttpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyHttpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyHttpComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyHttpComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyHttpComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyHttpComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyHttpComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyHttpComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyHttpComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyHttpComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyHttpComponent) component).setClientMode((boolean) value); return true;
            case "muteException": ((NettyHttpComponent) component).setMuteException((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyHttpComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyHttpComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyHttpComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyHttpComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyHttpComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyHttpComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyHttpComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyHttpComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyHttpComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyHttpComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyHttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyHttpComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyHttpComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyHttpComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyHttpComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyHttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyHttpComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "headerFilterStrategy": ((NettyHttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyHttpComponent) component).setNativeTransport((boolean) value); return true;
            case "nettyHttpBinding": ((NettyHttpComponent) component).setNettyHttpBinding((org.apache.camel.component.netty.http.NettyHttpBinding) value); return true;
            case "options": getOrCreateConfiguration((NettyHttpComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyHttpComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyHttpComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyHttpComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyHttpComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyHttpComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyHttpComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyHttpComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyHttpComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyHttpComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyHttpComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyHttpComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyHttpComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyHttpComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyHttpComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyHttpComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityConfiguration": ((NettyHttpComponent) component).setSecurityConfiguration((org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyHttpComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyHttpComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyHttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyHttpComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyHttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #2052 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 104_93
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientRole(Keycloak keycloakClient, Exchange exchange)
    private void createClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).clients().get(clientUuid).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Client role created successfully");
        }
    }
Pair #2053 Negative (Non-Clone)
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #2054 Negative (Non-Clone)
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
Pair #2055 Negative (Non-Clone)
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
Pair #2056 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 2462_1966
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.updatePids(Map<Long, Row> rows)
    private void updatePids(Map<Long, Row> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Row row = new Row();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #2057 Negative (Non-Clone)
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2577_2168
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeDataFormat()
    private void executeDataFormat() throws MojoExecutionException {
         
        final String kind = "dataformat";
        List<String> dataFormatNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!dataFormatNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + dataFormatNames.size() + " dataformats");
            }

            for (String dataFormatName : dataFormatNames) {
                String json = loadJsonFrom(jsonFiles, kind, dataFormatName);
                if (json != null) {
                     
                    dataFormatName = asDataFormatName(dataFormatName);

                    File file = new File(dataformatDocDir, dataFormatName + "-" + kind + ".adoc");

                    DataFormatModel model = generateDataFormatModel(json);
                     
                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        model.getOptions().stream().filter(o -> "type".equals(o.getName()))
                                .forEach(o -> o.setDefaultValue(null));
                    }

                    String title = asDataFormatTitle(model.getName(), model.getTitle());
                    model.setTitle(title);

                    boolean exists = file.exists();
                    boolean updated = updateHeader(dataFormatName, file, model, " DataFormat");
                    checkSince(file);

                    String options = evaluateTemplate("dataformat-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        updated |= updateAnnotationsIn(file);
                    }

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No dataformat doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }

                }
            }
        }
    }
Pair #2058 Negative (Non-Clone)
ID: 53_67
ClassID: 53
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }

        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.getAndPut(key, newHolder);
            if (oldHolder != null) {
                Exchange exchange = unmarshallExchange(camelContext, oldHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key,
                        exchange != null ? exchange.getExchangeId() : "<null>");

                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 1041_903
ClassID: 1041
File: systems/camel-java/components/camel-xslt-saxon/src/main/java/org/apache/camel/component/xslt/saxon/XsltSaxonEndpoint.java
Name: org.apache.camel.component.xslt.saxon.XsltSaxonEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (this.saxonReaderProperties != null) {
             
             
            source = createReaderForSource(source);
        }
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        setCacheCleared(false);
    }
Pair #2059 Negative (Non-Clone)
ID: 2557_2128
ClassID: 2557
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
Name: org.apache.camel.util.xml.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (!textBuffer.isEmpty()) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2060 Negative (Non-Clone)
ID: 483_507
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #2061 Negative (Non-Clone)
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #2062 Negative (Non-Clone)
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
ID: 18_20
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer target = (org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer) obj;
        switch (key) {
        case "delete_key":
        case "DELETE_KEY": target.deleteKey(exchange.getMessage()); return null;
        case "delete_keys":
        case "DELETE_KEYS": target.deleteKeys(exchange.getMessage()); return null;
        case "get_keys":
        case "GET_KEYS": target.getKeys(exchange.getMessage()); return null;
        case "get_sessions":
        case "GET_SESSIONS": target.getSessions(exchange.getMessage()); return null;
        case "get_value":
        case "GET_VALUE": target.getValue(exchange.getMessage()); return null;
        case "get_values":
        case "GET_VALUES": target.getValues(exchange.getMessage()); return null;
        case "lock":
        case "LOCK": target.lock(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.put(exchange.getMessage()); return null;
        case "unlock":
        case "UNLOCK": target.unlock(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2063 Negative (Non-Clone)
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 921_792
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsub.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #2064 Negative (Non-Clone)
ID: 227_267
ClassID: 227
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        FTPFile[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFtpFilesFast(operations, file);
        } else {
            files = getFtpFilesByFilter(operations, file);
        }
        return files;
    }
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #2065 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #2066 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
Pair #2067 Negative (Non-Clone)
ID: 1008_870
ClassID: 1008
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ClientEntitySet) {
            index((ClientEntitySet) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else {
            indexDefault(result);
        }
    }
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
Pair #2068 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #2069 Negative (Non-Clone)
ID: 689_629
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpsert(Exchange exchange, String tableName)
    private void doUpsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Upsert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Upsert upsert = table.newUpsert();
        PartialRow row = upsert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(upsert);
    }
ID: 2048_1664
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentChangedRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentChangedRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #2070 Negative (Non-Clone)
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
ID: 2463_1970
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.readReceiveFiles(Map<Long, Pid> pids)
    private int readReceiveFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getReceiveFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #2071 Negative (Non-Clone)
ID: 1313_1207
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation)
    private void doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation) {
        String podName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodSpec podSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
        if (ObjectHelper.isEmpty(podName)) {
            LOG.error("{} a specific pod require specify a pod name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific pod require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific pod require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(podSpec)) {
            LOG.error("{} a specific pod require specify a pod spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a pod spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Pod podCreating = new PodBuilder().withNewMetadata().withName(podName).withLabels(labels).endMetadata()
                .withSpec(podSpec).build();
        Pod pod = operation.apply(getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).resource(podCreating));

        prepareOutboundMessage(exchange, pod);
    }
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #2072 Negative (Non-Clone)
ID: 1958_1598
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

         
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVectorId(topK, indexId, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #2073 Negative (Non-Clone)
ID: 309_379
ClassID: 309
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/AbstractHttpSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.AbstractHttpSegmentDecorator.getHttpUrl(Exchange exchange, Endpoint endpoint)
    protected String getHttpUrl(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #2074 Negative (Non-Clone)
ID: 15_15
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumerMode.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumerMode.getHazelcastOperation(String name)
    public static HazelcastQueueConsumerMode getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastQueueConsumerMode hazelcastQueueConsumerMode : VALUES) {
            if (hazelcastQueueConsumerMode.toString().equalsIgnoreCase(name)
                    || hazelcastQueueConsumerMode.name().equalsIgnoreCase(name)) {
                return hazelcastQueueConsumerMode;
            }
        }
        throw new IllegalArgumentException(String.format("Mode '%s' is not supported by this component.", name));
    }
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
Pair #2075 Negative (Non-Clone)
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2190_1727
ClassID: 2190
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.deleteVolume(Exchange exchange)
    private void deleteVolume(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        Delete delete;
        if (ObjectHelper.isEmpty(volumeId)) {
            String name = exchange.getIn().getHeader(DigitalOceanHeaders.NAME, String.class);
            String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

            if (ObjectHelper.isEmpty(name) && ObjectHelper.isEmpty(region)) {
                throw new IllegalArgumentException(
                        DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.NAME + " and " + DigitalOceanHeaders.REGION
                                                   + " must be specified");
            }

            delete = getEndpoint().getDigitalOceanClient().deleteVolume(name, region);

        } else {
            delete = getEndpoint().getDigitalOceanClient().deleteVolume(volumeId);
        }

        LOG.trace("Delete Volume [{}] ", delete);
        exchange.getMessage().setBody(delete);

    }
Pair #2076 Negative (Non-Clone)
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
Pair #2077 Negative (Non-Clone)
ID: 2504_2052
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withIsSecret(JsonNode node)
        public AnnotationBuilder withIsSecret(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withIsSecret(node.asBoolean());
        }
ID: 2438_1912
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GistHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GistHelper.resolveGistAsRawFiles(String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGistAsRawFiles(
            String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root.get("files")) {
                String name = c.get("filename").asText();
                String ext = FileUtil.onlyExt(name, false);
                if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    kamelets.add(u);
                } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    properties.add(u);
                } else if (routes != null) {
                    if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                            || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                        String rawUrl = c.get("raw_url").asText();
                        String u = asGistSingleUrl(rawUrl);
                        routes.add(u);
                    }
                } else if (all != null) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    all.add(u);
                }
            }
        }
    }
Pair #2078 Negative (Non-Clone)
ID: 486_516
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
Name: org.apache.camel.component.cxf.converter.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
Pair #2079 Negative (Non-Clone)
ID: 902_776
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Drive makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Google Drive client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret, scopes);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Drive client.", e);
        }
    }
ID: 1422_1267
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.run()
        public void run() {
            LOG.info("Listening on port {}", this.serverSocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {
                    Socket inSocket = this.serverSocket.accept();
                     
                    Thread t = new RequestHandlerThread(this.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
Pair #2080 Negative (Non-Clone)
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #2081 Negative (Non-Clone)
ID: 2613_2259
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JaxbDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("objectFactory", definition.getObjectFactory());
        properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement());
        properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement());
        properties.put("filterNonXmlChars", definition.getFilterNonXmlChars());
        properties.put("fragment", definition.getFragment());
        properties.put("contextPath", definition.getContextPath());
        properties.put("contextPathIsClassName", definition.getContextPathIsClassName());
        properties.put("partClass", definition.getPartClass());
        properties.put("partNamespace", definition.getPartNamespace());
        properties.put("encoding", definition.getEncoding());
        properties.put("namespacePrefix", asRef(definition.getNamespacePrefix()));
        properties.put("schema", definition.getSchema());
        properties.put("schemaSeverityLevel", definition.getSchemaSeverityLevel());
        properties.put("xmlStreamWriterWrapper", definition.getXmlStreamWriterWrapper());
        properties.put("schemaLocation", definition.getSchemaLocation());
        properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation());
        properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties());
        properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols());
    }
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #2082 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #2083 Negative (Non-Clone)
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
Pair #2084 Negative (Non-Clone)
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #2085 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
Pair #2086 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 2188_1723
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.assignFloatingIPToDroplet(Exchange exchange)
    private void assignFloatingIPToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        String ipAddress = exchange.getIn().getHeader(DigitalOceanHeaders.FLOATING_IP_ADDRESS, String.class);

        if (ObjectHelper.isEmpty(ipAddress)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.FLOATING_IP_ADDRESS + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().assignFloatingIP(dropletId, ipAddress);
        LOG.trace("Assign Floating IP to Droplet {}", action);
        exchange.getMessage().setBody(action);
    }
Pair #2087 Negative (Non-Clone)
ID: 2107_1703
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStreamCallback(Exchange exchange)
    protected DataStreamCallback resolveDataStreamCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER) != null) {
            return (DataStreamCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER);
        } else if (getEndpoint().getDataStreamCallback() != null) {
            return getEndpoint().getDataStreamCallback();
        } else {
            throw new IllegalArgumentException("Cannot resolve DataStream callback.");
        }
    }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #2088 Negative (Non-Clone)
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 2658_2330
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
Name: org.apache.camel.processor.SetHeaderProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newHeader = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

            String key = headerName.evaluate(exchange, String.class);
            old.setHeader(key, newHeader);

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #2089 Negative (Non-Clone)
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
Pair #2090 Negative (Non-Clone)
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
Pair #2091 Negative (Non-Clone)
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
ID: 3268_2635
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes)
    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("Searching for: {} in package: {} using classloader: {}",
                    test, packageName, loader.getClass().getName());
        }

        Enumeration<URL> urls = getUrls(packageName, loader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for classes in: {} matching criteria: {}", urlPath, test);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(test, packageName, file, classes);
                } else {
                    InputStream stream = null;
                    try {
                        if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                                || urlPath.startsWith("sonicfs:")
                                || isAcceptableScheme(urlPath)) {
                             
                             
                            LOG.trace("Loading from jar using url: {}", urlPath);
                            URL urlStream = URI.create(urlPath).toURL();
                            URLConnection con = urlStream.openConnection();
                             
                            con.setUseCaches(false);
                            stream = con.getInputStream();
                        } else {
                            LOG.trace("Loading from jar using file: {}", file);
                            stream = new FileInputStream(file);
                        }

                         
                        if (jarCache == null) {
                             
                            jarCache = LRUCacheFactory.newLRUSoftCache(1000);
                        }

                        loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
                    } finally {
                        IOHelper.close(stream);
                    }
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
Pair #2092 Negative (Non-Clone)
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #2093 Negative (Non-Clone)
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #2094 Negative (Non-Clone)
ID: 1282_1128
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveVertex()
    private Function<Exchange, Object> saveVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.insertVertex(vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #2095 Negative (Non-Clone)
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 1185_1008
ClassID: 1185
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength)
    private void createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = fileLength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            ZipArchiveEntry entry = new ZipArchiveEntry(sb + element);
            entry.setSize(length);
            zos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #2096 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #2097 Negative (Non-Clone)
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
ID: 2249_1775
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPut(Message message)
    public void onPut(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.put(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.put(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.put(key, value);
        }

        setResult(message, result);
    }
Pair #2098 Negative (Non-Clone)
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
Pair #2099 Negative (Non-Clone)
ID: 1311_1198
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doListResourceQuotasByLabels(Exchange exchange)
    protected void doListResourceQuotasByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ResourceQuotas by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ResourceQuotas by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().withLabels(labels).list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #2100 Negative (Non-Clone)
ID: 482_506
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 1314_1211
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation)
    private void doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation) {
        String jobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobSpec jobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_SPEC, JobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(jobName)) {
            LOG.error("{} a specific job require specify a job name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific job require specify a job name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific job require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(jobSpec)) {
            LOG.error("{} a specific job require specify a job spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a job spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobBuilder jobCreatingBuilder = new JobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).endMetadata()
                    .withSpec(jobSpec);
        } else {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(jobSpec);
        }
        Job job = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespaceName)
                        .resource(jobCreatingBuilder.build()));

        prepareOutboundMessage(exchange, job);
    }
Pair #2101 Negative (Non-Clone)
ID: 444_474
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketObjectEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketObjectEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof Serializable) {
            Serializable payload = (Serializable) msg.content();
            ByteBuf buf = ctx.alloc().buffer();
            delegateObjectEncoder.encode(ctx, payload, buf);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(buf, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not a java.io.Serializable instance.");
        }
    }
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
Pair #2102 Negative (Non-Clone)
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #2103 Negative (Non-Clone)
ID: 2251_1783
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplaceAsync(Message message)
    public void onReplaceAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final CompletableFuture<Object> resultWithNewValue;
        final CompletableFuture<Boolean> resultWithNewAndOldValue;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue
                            = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                resultWithNewValue = cache.replaceAsync(key, value);
                setResult(message, resultWithNewValue);
            } else {
                resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value);
                setResult(message, resultWithNewAndOldValue);
            }
        }

    }
ID: 3231_2544
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.bodyOgnlExpression(final String name, final String ognl)
    public static Expression bodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body = exchange.getIn().getBody(type);
                if (body != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "bodyOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #2104 Negative (Non-Clone)
ID: 1254_1096
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveLogger(DeadLetterChannelDefinition definition)
    private CamelLogger resolveLogger(DeadLetterChannelDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 1852_1504
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPublicKeyToPEM(publicKey);
            case DER:
            case X509:
                return publicKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for public key: " + format);
        }
    }
Pair #2105 Negative (Non-Clone)
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
ID: 2100_1697
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.recover(CamelContext camelContext, final String exchangeId)
    public Exchange recover(CamelContext camelContext, final String exchangeId) {
        Exchange answer = null;

        try {
            byte[] completedLDBKey = keyBuilder(getRepositoryNameCompleted(), exchangeId);

            byte[] rc = levelDBFile.getDb().get(completedLDBKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException(
                    "Error recovering exchangeId " + exchangeId + " from repository " + repositoryName, e);
        }

        LOG.debug("Recovering exchangeId [{}] -> {}", exchangeId, answer);
        return answer;
    }
Pair #2106 Negative (Non-Clone)
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #2107 Negative (Non-Clone)
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 1311_1197
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doListPodsByLabel(Exchange exchange)
    protected void doListPodsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        PodList podList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get pods by labels require specify a labels set");
            throw new IllegalArgumentException("Get pods by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().withLabels(labels).list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
Pair #2108 Negative (Non-Clone)
ID: 181_170
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
    private <T> T unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, typeRef);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #2109 Negative (Non-Clone)
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #2110 Negative (Non-Clone)
ID: 2049_1666
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 3219_2501
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/SysPropertiesFunction.java
Name: org.apache.camel.component.properties.SysPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = System.getProperty(key);
        return value != null ? value : defaultValue;
    }
Pair #2111 Negative (Non-Clone)
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
Pair #2112 Negative (Non-Clone)
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
ID: 452_481
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.copyFile(String fileId, String destinationFolderId, String newName)
    public BoxFile copyFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToCopy = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return fileToCopy.copy(destinationFolder).getResource();
            } else {
                return fileToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #2113 Negative (Non-Clone)
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #2114 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
Pair #2115 Negative (Non-Clone)
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
ID: 1115_949
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {

        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);

        if (imageClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }

        String operation = ((ImageRecognitionEndpoint) super.getEndpoint()).getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation name cannot be empty");
        }
        switch (operation) {
            case ImageRecognitionConstants.OPERATION_CELEBRITY_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing celebrity recognition");
                }
                performCelebrityRecognitionOperation(exchange, clientConfigurations);
                break;
            case ImageRecognitionConstants.OPERATION_TAG_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing tag recognition");
                }
                performTagRecognitionOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation can only be either tagRecognition or celebrityRecognition");
        }
    }
Pair #2116 Negative (Non-Clone)
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
ID: 183_174
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.updateSObjectMultipart(String sObjectName, String id, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void updateSObjectMultipart(
            String sObjectName, String id, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request patch = getRequest("PATCH", sobjectsUrl(sObjectName + "/" + id), headers);
            setAccessToken(patch);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("updateSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                patch.body(multipartContent);
            }

            doHttpRequest(patch, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart update request: " + e.getMessage(), e));
        }
    }
Pair #2117 Negative (Non-Clone)
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #2118 Negative (Non-Clone)
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
Pair #2119 Negative (Non-Clone)
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 1957_1594
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.deleteByIds(Exchange exchange)
    private void deleteByIds(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        DeleteResponse result
                = index.deleteByIds(elements);

        populateDeleteResponse(result, exchange);
    }
Pair #2120 Negative (Non-Clone)
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
ID: 406_437
ClassID: 406
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
Name: org.apache.camel.component.couchbase.CouchbaseEndpoint.CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component)
    public CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component) throws URISyntaxException {
        super(uri, component);
        URI remainingUri = new URI(remaining);

        protocol = remainingUri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }

        port = remainingUri.getPort() == -1 ? DEFAULT_COUCHBASE_PORT : remainingUri.getPort();

        hostname = remainingUri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }
    }
Pair #2121 Negative (Non-Clone)
ID: 3230_2541
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.filePathExpression()
    public static Expression filePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFilePath", String.class);
            }

            @Override
            public String toString() {
                return "file:path";
            }
        };
    }
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
Pair #2122 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 3230_2538
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsoluteExpression()
    public static Expression fileAbsoluteExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolute", Boolean.class);
            }

            @Override
            public String toString() {
                return "file:absolute";
            }
        };
    }
Pair #2123 Negative (Non-Clone)
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
Pair #2124 Negative (Non-Clone)
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
ID: 1305_1140
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusLosingLeadership()
    private void refreshStatusLosingLeadership() {
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be lost in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is losing leadership now...", logPrefix);
        this.currentState = State.LEADERSHIP_LOST;
        this.serializedExecutor.execute(this::refreshStatus);
    }
Pair #2125 Negative (Non-Clone)
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #2126 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
Pair #2127 Negative (Non-Clone)
ID: 175_149
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 3308_2720
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateSimple(ClassLoader classLoader, String simple, boolean predicate)
    private LanguageValidationResult doValidateSimple(ClassLoader classLoader, String simple, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = simple.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(simple);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("createPredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("createExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")  
                        || cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleParserException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {  
                    try {
                        Method method = cause.getClass().getMethod("getShortMessage");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            String msg = (String) result;
                            answer.setShortError(msg);
                        }
                    } catch (Exception i) {
                         
                    }

                    if (answer.getShortError() == null) {
                         
                        String msg = answer.getError();
                         
                        int idx = msg.indexOf(" at location ");
                        if (idx > 0) {
                            msg = msg.substring(0, idx);
                            answer.setShortError(msg);
                        }
                    }
                }
            }
        }

        return answer;
    }
Pair #2128 Negative (Non-Clone)
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
Pair #2129 Negative (Non-Clone)
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #2130 Negative (Non-Clone)
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
Pair #2131 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 2651_2314
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onFailure(final Exchange exchange)
        public void onFailure(final Exchange exchange) {
            if (shouldSkip(exchange, onCompleteOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);
            final Exception original = copy.getException();
            if (original != null) {
                 
                 
                copy.setException(null);
            }

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onFailure: {}", copy);
                    doProcess(processor, copy);
                     
                    copy.setException(original);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onFailure: {}", copy);
                doProcess(processor, copy);
                 
                copy.setException(original);
            }
        }
Pair #2132 Negative (Non-Clone)
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #2133 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #2134 Negative (Non-Clone)
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
Pair #2135 Negative (Non-Clone)
ID: 3223_2511
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);
        final Expression rightExp = right.createExpression(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return createAndExpression(leftExp, rightExp);
        } else if (operator == LogicalOperatorType.OR) {
            return createOrExpression(leftExp, rightExp);
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 926_802
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor)
    GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        this.pendingSynchronousPullResponses = ConcurrentHashMap.newKeySet();
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #2136 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 2439_1914
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getObjectName(String uriExpression)
    protected String getObjectName(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[1];
        }

        return namespacedName;
    }
Pair #2137 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
Pair #2138 Negative (Non-Clone)
ID: 1246_1075
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.valueOf(DirectoryChangeEvent.EventType directoryChangeEventType)
    public static FileEventEnum valueOf(DirectoryChangeEvent.EventType directoryChangeEventType) {
        switch (directoryChangeEventType) {
            case CREATE:
                return FileEventEnum.CREATE;
            case DELETE:
                return FileEventEnum.DELETE;
            case MODIFY:
                return FileEventEnum.MODIFY;
            default:
                return null;
        }
    }
ID: 3230_2542
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileSizeExpression()
    public static Expression fileSizeExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LENGTH, Long.class);
            }

            @Override
            public String toString() {
                return "file:length";
            }
        };
    }
Pair #2139 Negative (Non-Clone)
ID: 2458_1957
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyMavenWrapper()
    protected void copyMavenWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, ".mvn/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path mvnwPath = Paths.get(BUILD_DIR, "mvnw");
        Path mvnwCmdPath = Paths.get(BUILD_DIR, "mvnw.cmd");
        Path wrapperJarPath = wrapperPath.resolve("maven-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("maven-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw")) {
            Files.copy(is, mvnwPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw.cmd")) {
            Files.copy(is, mvnwCmdPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(mvnwPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(mvnwCmdPath, "rwxr-xr-x");
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2140 Negative (Non-Clone)
ID: 188_193
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
    private void processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getUnprocessedRecords(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #2141 Negative (Non-Clone)
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #2142 Negative (Non-Clone)
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #2143 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #2144 Negative (Non-Clone)
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
ID: 3240_2565
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
Name: org.apache.camel.reifier.SetPropertyReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "propertyName", this);
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetPropertyProcessor answer = new SetPropertyProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2145 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
Pair #2146 Negative (Non-Clone)
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #2147 Negative (Non-Clone)
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2148 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 3222_2509
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/BooleanExpression.java
Name: org.apache.camel.language.simple.ast.BooleanExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == Boolean.class || type == boolean.class) {
                    return (T) Boolean.valueOf(value);
                }
                return camelContext.getTypeConverter().tryConvertTo(type, exchange, value);
            }

            @Override
            public String toString() {
                return String.valueOf(value);
            }
        };
    }
Pair #2149 Negative (Non-Clone)
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
Pair #2150 Negative (Non-Clone)
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
Pair #2151 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #2152 Negative (Non-Clone)
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #2153 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #2154 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 757_678
ClassID: 757
File: systems/camel-java/components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java
Name: org.apache.camel.component.seda.QueueReference.addReference(SedaEndpoint endpoint)
    void addReference(SedaEndpoint endpoint) {
        lock.lock();
        try {
            if (!endpoints.contains(endpoint)) {
                endpoints.add(endpoint);
                 
                if (endpoint.isMultipleConsumers()) {
                    multipleConsumers = true;
                }
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2155 Negative (Non-Clone)
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
ID: 3291_2693
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        if (trustManager != null) {
            builder.append("TrustManagerType[trustManager=");
            builder.append(trustManager);
            builder.append("]");
        } else {
            builder.append("TrustManagerType[keyStore=");
            builder.append(keyStore);
            builder.append(", provider=");
            builder.append(provider);
            builder.append(", algorithm=");
            builder.append(algorithm);
            builder.append("]");
        }
        return builder.toString();
    }
Pair #2156 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #2157 Negative (Non-Clone)
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
ID: 898_756
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent.getClient(GoogleSheetsStreamConfiguration config)
    public Sheets getClient(GoogleSheetsStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #2158 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2159 Negative (Non-Clone)
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2160 Negative (Non-Clone)
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
Pair #2161 Negative (Non-Clone)
ID: 1139_983
ClassID: 1139
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
Name: org.apache.camel.component.github.GitHubEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (type == GitHubType.CLOSEPULLREQUEST) {
            return new ClosePullRequestProducer(this);
        } else if (type == GitHubType.PULLREQUESTCOMMENT) {
            return new PullRequestCommentProducer(this);
        } else if (type == GitHubType.PULLREQUESTSTATE) {
            return new PullRequestStateProducer(this);
        } else if (type == GitHubType.PULLREQUESTFILES) {
            return new PullRequestFilesProducer(this);
        } else if (type == GitHubType.GETCOMMITFILE) {
            return new GetCommitFileProducer(this);
        } else if (type == GitHubType.CREATEISSUE) {
            return new CreateIssueProducer(this);
        }
        throw new IllegalArgumentException("Cannot create producer with type " + type);
    }
ID: 1855_1510
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in Vault: {}", metadata);
        return keyPair;
    }
Pair #2162 Negative (Non-Clone)
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #2163 Negative (Non-Clone)
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
Pair #2164 Negative (Non-Clone)
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
ID: 2584_2183
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!mainJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "main.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(mainJsonFile);
            MainModel model = JsonMapper.generateMainModel(json);
            String options = evaluateTemplate("main-options.mvel", model);
            updated = updateOptionsIn(file, "main", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing main docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No main doc file: " + file);
        }
    }
Pair #2165 Negative (Non-Clone)
ID: 3306_2717
ClassID: 3306
File: systems/camel-java/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
Name: org.apache.camel.xml.io.util.XmlStreamReader.XmlStreamReader(final InputStream is, final String httpContentType, final boolean lenient, final String defaultEncoding)
    public XmlStreamReader(final InputStream is, final String httpContentType, final boolean lenient,
                           final String defaultEncoding) throws IOException, XmlStreamReaderException {
        if (defaultEncoding == null) {
            this.defaultEncoding = staticDefaultEncoding;
        } else {
            this.defaultEncoding = defaultEncoding;
        }
        try {
            doHttpStream(is, httpContentType, lenient);
        } catch (final XmlStreamReaderException ex) {
            if (!lenient) {
                throw ex;
            } else {
                doLenientDetection(httpContentType, ex);
            }
        }
    }
ID: 1254_1095
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveLogger(DefaultErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(DefaultErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DefaultErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #2166 Negative (Non-Clone)
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #2167 Negative (Non-Clone)
ID: 2461_1963
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.doCall()
    public Integer doCall() throws Exception {
        Map<Long, Row> rows = new LinkedHashMap<>();

         
        updatePids(rows);
        if (!rows.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
            if (startup) {
                follow = false;
                 
                tailStartupLogFiles(rows);
                dumpLogFiles(rows, 0);
            } else if (tail != 0) {
                 
                tailLogFiles(rows, tail, limit);
                dumpLogFiles(rows, tail);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            StopWatch watch = new StopWatch();
            do {
                if (rows.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for logs ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(rows);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(rows);
                        watch.restart();
                    }
                    int lines = readLogFiles(rows);
                    if (lines > 0) {
                        dumpLogFiles(rows, 0);
                    } else {
                        Thread.sleep(100);
                    }
                }
            } while (running.get());
        }

        return 0;
    }
ID: 1218_1045
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCharges(Exchange exchange, String method)
    private Object handleCharges(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Charge.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Charge.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String chargeId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge charge = Charge.retrieve(chargeId);
                return charge.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Charge.list(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CAPTURE:
                String captureId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge captureCharge = Charge.retrieve(captureId);
                return captureCharge.capture(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for charges: " + method);
        }
    }
Pair #2168 Negative (Non-Clone)
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
Pair #2169 Negative (Non-Clone)
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
Pair #2170 Negative (Non-Clone)
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
ID: 3224_2513
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createIncExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createIncExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val++;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #2171 Negative (Non-Clone)
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #2172 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2173 Negative (Non-Clone)
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #2174 Negative (Non-Clone)
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #2175 Negative (Non-Clone)
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #2176 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #2177 Negative (Non-Clone)
ID: 3278_2660
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isLessThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) <= 0;
            }

            protected String getOperationText() {
                return "<=";
            }
        };
    }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #2178 Negative (Non-Clone)
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #2179 Negative (Non-Clone)
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
Pair #2180 Negative (Non-Clone)
ID: 1498_1340
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeGIF(String flavor)
    public DocFlavor forMimeTypeGIF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.GIF;
        }

        return d;
    }
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2181 Negative (Non-Clone)
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2182 Negative (Non-Clone)
ID: 2053_1674
ClassID: 2053
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java
Name: org.apache.camel.component.file.GenericFilePollingConsumer.receiveNoWait(Exchange exchange)
    public Exchange receiveNoWait(Exchange exchange) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("receiveNoWait polling file: {}", getConsumer().getEndpoint());
        }
        int polled = doReceive(exchange, 0);
        if (polled > 0) {
            return super.receive(0);
        } else {
            return null;
        }
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #2183 Negative (Non-Clone)
ID: 701_646
ClassID: 701
File: systems/camel-java/components/camel-jte/src/main/java/org/apache/camel/component/jte/JteComponent.java
Name: org.apache.camel.component.jte.JteComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JteEndpoint endpoint = new JteEndpoint(uri, this, remaining);
        endpoint.setAllowTemplateFromHeader(allowTemplateFromHeader);
        endpoint.setAllowContextMapAll(allowContextMapAll);
        endpoint.setContentCache(contentCache);

        setProperties(endpoint, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            endpoint.setResourceUri(remaining);
        }

        return endpoint;
    }
ID: 196_225
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        Message inboundMessage = exchange.getIn();
        Map<String, Object> outboundHeaders = out.getHeaders();
        outboundHeaders.putAll(inboundMessage.getHeaders());
        outboundHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #2184 Negative (Non-Clone)
ID: 230_278
ClassID: 230
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FileIdBothDirectoryInformation> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FileIdBothDirectoryInformation> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #2185 Negative (Non-Clone)
ID: 2363_1860
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode eventType = node.get("event_type");

        if (eventType != null && "text-generation".equals(eventType.asText())) {
            JsonNode text = node.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
ID: 1810_1494
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCreateContainerRequest(DockerClient client, Message message)
    private CreateContainerCmd executeCreateContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Create Container Request");

        String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);

        ObjectHelper.notNull(image, "Image must be specified");

        CreateContainerCmd createContainerCmd = client.createContainerCmd(image);
        createContainerCmd.withHostConfig(newHostConfig());

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            createContainerCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            createContainerCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            createContainerCmd.withAttachStdout(attachStdOut);
        }

        Capability[] capAdd = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_ADD, message, Capability.class);

        if (capAdd != null) {
            createContainerCmd.getHostConfig().withCapAdd(capAdd);
        }

        Capability[] capDrop = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_DROP, message, Capability.class);

        if (capDrop != null) {
            createContainerCmd.getHostConfig().withCapDrop(capDrop);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            createContainerCmd.withCmd(cmd);
        }

        Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);

        if (cpuShares != null) {
            createContainerCmd.getHostConfig().withCpuShares(cpuShares);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            createContainerCmd.withNetworkDisabled(disableNetwork);
        }

        String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);

        if (dns != null) {
            createContainerCmd.getHostConfig().withDns(dns);
        }

        String domainName = DockerHelper.getProperty(DockerConstants.DOCKER_DOMAIN_NAME, configuration, message, String.class);

        if (domainName != null) {
            createContainerCmd.withDomainName(domainName);
        }

        String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (env != null) {
            createContainerCmd.withEnv(env);
        }

        String[] entrypoint = DockerHelper.getArrayProperty(DockerConstants.DOCKER_ENTRYPOINT, message, String.class);

        if (entrypoint != null) {
            createContainerCmd.withEntrypoint(entrypoint);
        }

        ExposedPort[] exposedPorts
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);

        if (exposedPorts != null) {
            createContainerCmd.withExposedPorts(exposedPorts);
        }

        HostConfig hostConfig
                = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_CONFIG, configuration, message, HostConfig.class);

        if (hostConfig != null) {
            createContainerCmd.withHostConfig(hostConfig);
        }

        String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostName != null) {
            createContainerCmd.withHostName(hostName);
        }

        Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);

        if (memoryLimit != null) {
            createContainerCmd.getHostConfig().withMemory(memoryLimit);
        }

        Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);

        if (memorySwap != null) {
            createContainerCmd.getHostConfig().withMemorySwap(memorySwap);
        }

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        if (name != null) {
            createContainerCmd.withName(name);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            createContainerCmd.withPortSpecs(portSpecs);
        }

        Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);

        if (stdInOpen != null) {
            createContainerCmd.withStdinOpen(stdInOpen);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            createContainerCmd.withStdInOnce(stdInOnce);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            createContainerCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            createContainerCmd.withUser(user);
        }

        Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);

        if (volume != null) {
            createContainerCmd.withVolumes(volume);
        }

        Bind[] binds = DockerHelper.getArrayProperty(DockerConstants.DOCKER_BINDS, message, Bind.class);

        if (binds != null) {
            createContainerCmd.getHostConfig().withBinds(binds);
        }

        VolumesFrom[] volumesFrom
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES_FROM, message, VolumesFrom.class);

        if (volumesFrom != null) {
            createContainerCmd.getHostConfig().withVolumesFrom(volumesFrom);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            createContainerCmd.withWorkingDir(workingDir);
        }

        return createContainerCmd;

    }
Pair #2186 Negative (Non-Clone)
ID: 3260_2619
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue, Class<T> type)
    public <T> T getHeader(String name, Object defaultValue, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
            value = defaultValue;
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #2187 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
Pair #2188 Negative (Non-Clone)
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
Pair #2189 Negative (Non-Clone)
ID: 378_414
ClassID: 378
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
        public Destination resolveDestinationName(
                Session session, String destinationName,
                boolean pubSubDomain)
                throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.resolveDestinationName(session, destinationName, pubSubDomain);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
Pair #2190 Negative (Non-Clone)
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
Pair #2191 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #2192 Negative (Non-Clone)
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 701_645
ClassID: 701
File: systems/camel-java/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java
Name: org.apache.camel.component.stringtemplate.StringTemplateComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining);
        answer.setContentCache(contentCache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #2193 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
Pair #2194 Negative (Non-Clone)
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
ID: 1994_1638
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = consumer.createExchange(false);
        exchange.setPattern(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
Pair #2195 Negative (Non-Clone)
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
Pair #2196 Negative (Non-Clone)
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #2197 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2198 Negative (Non-Clone)
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #2199 Negative (Non-Clone)
ID: 2605_2234
ClassID: 2605
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
Pair #2200 Negative (Non-Clone)
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #2201 Negative (Non-Clone)
ID: 2522_2078
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMysqlComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMysqlComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMySqlComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMySqlComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMySqlComponent) component).setConfiguration((org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMySqlComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "bigintUnsignedHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBigintUnsignedHandlingMode((java.lang.String) value); return true;
            case "binlogBufferSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBinlogBufferSize((int) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "connectKeepAlive": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAlive((boolean) value); return true;
            case "connectKeepAliveIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAliveIntervalMs((long) value); return true;
            case "connectTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectTimeoutMs((int) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databaseJdbcDriver": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseJdbcDriver((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePort((int) value); return true;
            case "databaseProtocol": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseProtocol((java.lang.String) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseServerId": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerId((long) value); return true;
            case "databaseServerIdOffset": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerIdOffset((long) value); return true;
            case "databaseSslKeystore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystore((java.lang.String) value); return true;
            case "databaseSslKeystorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystorePassword((java.lang.String) value); return true;
            case "databaseSslMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslMode((java.lang.String) value); return true;
            case "databaseSslTruststore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststore((java.lang.String) value); return true;
            case "databaseSslTruststorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststorePassword((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "enableTimeAdjuster": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEnableTimeAdjuster((boolean) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMySqlComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventDeserializationFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventDeserializationFailureHandlingMode((java.lang.String) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "gtidSourceExcludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceExcludes((java.lang.String) value); return true;
            case "gtidSourceFilterDmlEvents": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceFilterDmlEvents((boolean) value); return true;
            case "gtidSourceIncludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceIncludes((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeQuery((boolean) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "inconsistentSchemaHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInconsistentSchemaHandlingMode((java.lang.String) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "minRowCountToStreamResults": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMinRowCountToStreamResults((int) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMySqlComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "useNongracefulDisconnect": getOrCreateConfiguration((DebeziumMySqlComponent) component).setUseNongracefulDisconnect((boolean) value); return true;
            default: return false;
            }
        }
ID: 979_832
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa4_0(long old0, long active0)
private int jjMoveStringLiteralDfa4_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(2, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(3, active0);
      return 4;
   }
   switch(curChar)
   {
      case 84:
         return jjMoveStringLiteralDfa5_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(3, active0);
}
Pair #2202 Negative (Non-Clone)
ID: 893_748
ClassID: 893
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java
Name: org.apache.camel.component.xslt.XsltBuilder.getSourceHandlerFactory()
    public SourceHandlerFactory getSourceHandlerFactory() {
        if (this.sourceHandlerFactory == null) {
            sourceHandlerFactoryLock.lock();
            try {
                if (this.sourceHandlerFactory == null) {
                    final XmlSourceHandlerFactoryImpl xmlSourceHandlerFactory = createXmlSourceHandlerFactoryImpl();
                    xmlSourceHandlerFactory.setFailOnNullBody(isFailOnNullBody());
                    this.sourceHandlerFactory = xmlSourceHandlerFactory;
                }
            } finally {
                sourceHandlerFactoryLock.unlock();
            }
        }

        return this.sourceHandlerFactory;
    }
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
Pair #2203 Negative (Non-Clone)
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
Pair #2204 Negative (Non-Clone)
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 2613_2256
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JacksonXMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JacksonXMLDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("xmlMapper", definition.getXmlMapper());
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("include", definition.getInclude());
        properties.put("allowJmsType", definition.getAllowJmsType());
        properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
        properties.put("useList", definition.getUseList());
        properties.put("enableJaxbAnnotationModule", definition.getEnableJaxbAnnotationModule());
        properties.put("modulesClassNames", definition.getModuleClassNames());
        properties.put("moduleRefs", definition.getModuleRefs());
        properties.put("enableFeatures", definition.getEnableFeatures());
        properties.put("disableFeatures", definition.getDisableFeatures());
        properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
        properties.put("timezone", definition.getTimezone());
        properties.put("maxStringLength", definition.getMaxStringLength());
    }
Pair #2205 Negative (Non-Clone)
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
Pair #2206 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
Pair #2207 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 26_41
ClassID: 26
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
Pair #2208 Negative (Non-Clone)
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2209 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #2210 Negative (Non-Clone)
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
Pair #2211 Negative (Non-Clone)
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #2212 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #2213 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 2657_2326
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
Name: org.apache.camel.processor.SetBodyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, false);
            } else {
                 
                old.setBody(newBody);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #2214 Negative (Non-Clone)
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
Pair #2215 Negative (Non-Clone)
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #2216 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 53_67
ClassID: 53
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }

        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.getAndPut(key, newHolder);
            if (oldHolder != null) {
                Exchange exchange = unmarshallExchange(camelContext, oldHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key,
                        exchange != null ? exchange.getExchangeId() : "<null>");

                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #2217 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #2218 Negative (Non-Clone)
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 172_130
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeOperation(OperationName operationName)
    private static boolean isCompositeOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE:
            case COMPOSITE_BATCH:
            case COMPOSITE_TREE:
                return true;
            default:
                return false;
        }
    }
Pair #2219 Negative (Non-Clone)
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
ID: 177_159
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback)
    public void createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithJobResponse(callback, request);
    }
Pair #2220 Negative (Non-Clone)
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
ID: 467_499
ClassID: 467
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
Name: org.apache.camel.component.olingo4.internal.Olingo4ApiCollection.Olingo4ApiCollection()
    private Olingo4ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo4ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo4ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler", "data");
        apiHelpers.put(Olingo4ApiName.DEFAULT, new ApiMethodHelper<>(Olingo4AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo4AppApiMethod.class, Olingo4ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #2221 Negative (Non-Clone)
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 1444_1300
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2AsyncMDNServerConnection(AS2Configuration configuration)
    public static AS2AsyncMDNServerConnection createAS2AsyncMDNServerConnection(AS2Configuration configuration)
            throws IOException {
        try {
            return asyncMdnServerConnections.computeIfAbsent(
                    configuration.getAsyncMdnPortNumber(),
                    key -> {
                        try {
                            return new AS2AsyncMDNServerConnection(
                                    configuration.getAsyncMdnPortNumber(), configuration.getSslContext());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
Pair #2222 Negative (Non-Clone)
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #2223 Negative (Non-Clone)
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
ID: 2273_1798
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.remove(final Exchange exchange, final String messageId)
    public boolean remove(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

        Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    MessageProcessed processed = (MessageProcessed) list.get(0);
                    entityManager.remove(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("remove {}", messageId);
        return rc[0];
    }
Pair #2224 Negative (Non-Clone)
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2225 Negative (Non-Clone)
ID: 2043_1651
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyCommit(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {
        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
             
            if (key != null) {
                 
                if (endpoint.isIdempotentEager()) {
                    endpoint.getIdempotentRepository().confirm(key);
                } else {
                    endpoint.getIdempotentRepository().add(key);
                }
            }
        }

        handleDoneFile(exchange);

        try {
            LOG.trace("Commit file strategy: {} for file: {}", processStrategy, file);
            processStrategy.commit(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during commit", exchange, e);
        }
    }
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
Pair #2226 Negative (Non-Clone)
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #2227 Negative (Non-Clone)
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2228 Negative (Non-Clone)
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
Pair #2229 Negative (Non-Clone)
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #2230 Negative (Non-Clone)
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2231 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
Pair #2232 Negative (Non-Clone)
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
Pair #2233 Negative (Non-Clone)
ID: 188_193
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
    private void processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getUnprocessedRecords(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #2234 Negative (Non-Clone)
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #2235 Negative (Non-Clone)
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
ID: 2614_2261
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateMainModel(JsonObject obj)
    public static MainModel generateMainModel(JsonObject obj) {
        MainModel model = new MainModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            MainGroupModel group = new MainGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            MainOptionModel option = new MainOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
Pair #2236 Negative (Non-Clone)
ID: 2438_1912
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GistHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GistHelper.resolveGistAsRawFiles(String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGistAsRawFiles(
            String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root.get("files")) {
                String name = c.get("filename").asText();
                String ext = FileUtil.onlyExt(name, false);
                if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    kamelets.add(u);
                } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    properties.add(u);
                } else if (routes != null) {
                    if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                            || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                        String rawUrl = c.get("raw_url").asText();
                        String u = asGistSingleUrl(rawUrl);
                        routes.add(u);
                    }
                } else if (all != null) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    all.add(u);
                }
            }
        }
    }
ID: 1308_1156
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.run()
        public void run() {
            NonNamespaceOperation<Node, NodeList, Resource<Node>> w = getEndpoint().getKubernetesClient().nodes();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #2237 Negative (Non-Clone)
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
Pair #2238 Negative (Non-Clone)
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #2239 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #2240 Negative (Non-Clone)
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #2241 Negative (Non-Clone)
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #2242 Negative (Non-Clone)
ID: 1498_1344
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePCL(String flavor)
    public DocFlavor forMimeTypePCL(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PCL;
        }

        return d;
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #2243 Negative (Non-Clone)
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 1716_1425
ClassID: 1716
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchComponent.java
Name: org.apache.camel.component.opensearch.OpensearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpensearchConfiguration config = new OpensearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);

        Endpoint endpoint = new OpensearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #2244 Negative (Non-Clone)
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #2245 Negative (Non-Clone)
ID: 1252_1089
ClassID: 1252
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected JtaTransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor,
            ErrorHandlerFactory builder) {
        JtaTransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 634_564
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveTriggerKey(Action action, String routeId)
    public TriggerKey retrieveTriggerKey(Action action, String routeId) {
        ScheduledRouteDetails scheduledRouteDetails = getScheduledRouteDetails(routeId);
        TriggerKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartTriggerKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopTriggerKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendTriggerKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeTriggerKey();
        }

        return result;
    }
Pair #2246 Negative (Non-Clone)
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
Pair #2247 Negative (Non-Clone)
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
ID: 3226_2517
ClassID: 3226
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes)
    private static String[] codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(256);

        int codeLevel = 0;
        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

             
            if (input.indexOf(BaseSimpleParser.CODE_START, i) == i) {
                codeLevel++;
                sb.append(BaseSimpleParser.CODE_START);
                i = i + BaseSimpleParser.CODE_START.length() - 1;
                continue;
            } else if (input.indexOf(BaseSimpleParser.CODE_END, i) == i) {
                codeLevel--;
                sb.append(BaseSimpleParser.CODE_END);
                i = i + BaseSimpleParser.CODE_END.length() - 1;
                continue;
            }
            if (codeLevel > 0) {
                sb.append(ch);
                continue;
            }

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
Pair #2248 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #2249 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #2250 Negative (Non-Clone)
ID: 1307_1152
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        LOG.debug("Stopping Kubernetes Services Consumer");
        if (executor != null) {
            KubernetesHelper.close(servicesWatcher, servicesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
Pair #2251 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
Pair #2252 Negative (Non-Clone)
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #2253 Negative (Non-Clone)
ID: 1137_978
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor)
    protected AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor) throws Exception {
        super(endpoint, processor);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            LOG.debug("Using RepositoryService found in registry {}", service.getClass().getCanonicalName());
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }

        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
Pair #2254 Negative (Non-Clone)
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 681_613
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
Pair #2255 Negative (Non-Clone)
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
Pair #2256 Negative (Non-Clone)
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #2257 Negative (Non-Clone)
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2258 Negative (Non-Clone)
ID: 3275_2651
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.next()
        public Object next() {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext();
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 3291_2693
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        if (trustManager != null) {
            builder.append("TrustManagerType[trustManager=");
            builder.append(trustManager);
            builder.append("]");
        } else {
            builder.append("TrustManagerType[keyStore=");
            builder.append(keyStore);
            builder.append(", provider=");
            builder.append(provider);
            builder.append(", algorithm=");
            builder.append(algorithm);
            builder.append("]");
        }
        return builder.toString();
    }
Pair #2259 Negative (Non-Clone)
ID: 1107_939
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(IAMProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No operation name given. Cannot proceed with IAM operations.");
            }
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.OPERATION))
                            ? (String) exchange.getProperty(IAMProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                || ObjectHelper.isNotEmpty(endpoint.getUserId())) {
            clientConfigurations.setUserId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                            ? (String) exchange.getProperty(IAMProperties.USER_ID)
                            : endpoint.getUserId());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                || ObjectHelper.isNotEmpty(endpoint.getGroupId())) {
            clientConfigurations.setGroupId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                            ? (String) exchange.getProperty(IAMProperties.GROUP_ID)
                            : endpoint.getGroupId());
        }
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #2260 Negative (Non-Clone)
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
Pair #2261 Negative (Non-Clone)
ID: 2580_2176
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadEipJson(File file)
    private static String loadEipJson(File file) {
        try {
            String json = PackageHelper.loadText(file);
            if ("model".equals(PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #2262 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
Pair #2263 Negative (Non-Clone)
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 2244_1766
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
Pair #2264 Negative (Non-Clone)
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
Pair #2265 Negative (Non-Clone)
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
ID: 1215_1039
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
Pair #2266 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #2267 Negative (Non-Clone)
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2268 Negative (Non-Clone)
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2269 Negative (Non-Clone)
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #2270 Negative (Non-Clone)
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
Pair #2271 Negative (Non-Clone)
ID: 2229_1746
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemove(Exchange exchange, String operation)
    protected void doRemove(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.rm().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1322_1231
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doDelete(Exchange exchange, String namespaceName)
    protected void doDelete(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            LOG.error("Deleting a specific custom resource require specify a custom resource name");
            throw new IllegalArgumentException("Deleting a specific custom resource require specify a custom resource name");
        }

        try {
            List<StatusDetails> statusDetails
                    = getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName).withName(customResourceName).delete();

            boolean deleted = ObjectHelper.isNotEmpty(statusDetails);
            exchange.getMessage().setHeader(KubernetesConstants.KUBERNETES_DELETE_RESULT, deleted);
        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

    }
Pair #2272 Negative (Non-Clone)
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
Pair #2273 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2043_1651
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyCommit(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {
        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
             
            if (key != null) {
                 
                if (endpoint.isIdempotentEager()) {
                    endpoint.getIdempotentRepository().confirm(key);
                } else {
                    endpoint.getIdempotentRepository().add(key);
                }
            }
        }

        handleDoneFile(exchange);

        try {
            LOG.trace("Commit file strategy: {} for file: {}", processStrategy, file);
            processStrategy.commit(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during commit", exchange, e);
        }
    }
Pair #2274 Negative (Non-Clone)
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2275 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #2276 Negative (Non-Clone)
ID: 3167_2430
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #2277 Negative (Non-Clone)
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #2278 Negative (Non-Clone)
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
ID: 1457_1308
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprInvokeBindingHandler.java
Name: org.apache.camel.component.dapr.operations.DaprInvokeBindingHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String bindingName = configurationOptionsProxy.getBindingName(exchange);
        String bindingOperation = configurationOptionsProxy.getBindingOperation(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        InvokeBindingRequest bindingRequest = new InvokeBindingRequest(bindingName, bindingOperation);
        bindingRequest.setData(payload);
        bindingRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        final byte[] response = client.invokeBinding(bindingRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
Pair #2279 Negative (Non-Clone)
ID: 1240_1061
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SourceConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.smooks.api.io.Source.class, org.apache.camel.WrappedFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toURISource((org.apache.camel.WrappedFile) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, org.smooks.io.sink.JavaSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource((org.smooks.io.sink.JavaSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSourceWithoutEventStream.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSourceWithoutEventStream(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StreamSource.class, java.io.InputStream.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((java.io.InputStream) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStringSource((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #2280 Negative (Non-Clone)
ID: 765_692
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineObjectName(Exchange exchange)
    private String determineObjectName(Exchange exchange) {
        String key = getConfiguration().getObjectName();
        if (ObjectHelper.isEmpty(key)) {
            key = exchange.getIn().getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class);
        }
        if (key == null) {
            throw new IllegalArgumentException("Google Cloud Storage object name header missing.");
        }
        return key;
    }
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2281 Negative (Non-Clone)
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #2282 Negative (Non-Clone)
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 1644_1407
ClassID: 1644
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
Name: org.apache.camel.processor.transformer.AnnotationTransformerLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                try (BufferedReader reader
                        = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        packages.add(line);
                    }
                }
            }
        }
    }
Pair #2283 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #2284 Negative (Non-Clone)
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 248_322
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventProcessorClient(final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent, final Consumer<ErrorContext> processError)
    public static EventProcessorClient createEventProcessorClient(
            final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent,
            final Consumer<ErrorContext> processError) {
        EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .initialPartitionEventPosition(configuration.getEventPosition())
                .checkpointStore(createCheckpointStore(configuration))
                .consumerGroup(configuration.getConsumerGroupName())
                .retryOptions(configuration.getAmqpRetryOptions())
                .transportType(configuration.getAmqpTransportType())
                .processError(processError)
                .processEvent(processEvent);

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventProcessorClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildEventProcessorClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventProcessorClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildEventProcessorClient();
        }
        return eventProcessorClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildEventProcessorClient();
    }
Pair #2285 Negative (Non-Clone)
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
Pair #2286 Negative (Non-Clone)
ID: 1282_1122
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveDocument()
    private Function<Exchange, Object> saveDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                boolean isMultiInsert = exchange.getMessage().getHeader(MULTI_INSERT, false, Boolean.class);

                 
                if (isMultiInsert) {
                    Collection<Object> objects = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.insertDocuments(objects);
                }

                 
                Object obj = exchange.getMessage().getMandatoryBody();
                return collection.insertDocument(obj);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
Pair #2287 Negative (Non-Clone)
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2288 Negative (Non-Clone)
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #2289 Negative (Non-Clone)
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2290 Negative (Non-Clone)
ID: 837_720
ClassID: 837
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 2258_1784
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/collection/FindCollectionOperation.java
Name: org.apache.camel.component.nitrite.operation.collection.FindCollectionOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        NitriteCollection collection = (NitriteCollection) endpoint.getNitriteCollection();
        if (filter != null && findOptions != null) {
            exchange.getMessage().setBody(collection.find(filter, findOptions));
        } else if (filter != null) {
            exchange.getMessage().setBody(collection.find(filter));
        } else {
            exchange.getMessage().setBody(collection.find());
        }

    }
Pair #2291 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2292 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
Pair #2293 Negative (Non-Clone)
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2294 Negative (Non-Clone)
ID: 1862_1531
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #2295 Negative (Non-Clone)
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #2296 Negative (Non-Clone)
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #2297 Negative (Non-Clone)
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
Pair #2298 Negative (Non-Clone)
ID: 239_295
ClassID: 239
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/vault/PubsubReloadTriggerTask.java
Name: org.apache.camel.component.google.secret.manager.vault.PubsubReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #2299 Negative (Non-Clone)
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2300 Negative (Non-Clone)
ID: 3103_2383
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.ignoreInvalidExchanges()
    public ResequenceDefinition ignoreInvalidExchanges() {
        if (streamConfig != null) {
            streamConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        } else {
             
            if (batchConfig == null) {
                batch();
            }
            batchConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        }
        return this;
    }
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #2301 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
Pair #2302 Negative (Non-Clone)
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #2303 Negative (Non-Clone)
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
Pair #2304 Negative (Non-Clone)
ID: 1188_1016
ClassID: 1188
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doNext()
    protected Message doNext() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;
        currentEntry = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
ID: 103_77
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void createIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                Response response
                        = keycloakClient.realm(realmName).identityProviders().create((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException(
                    "Create identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #2305 Negative (Non-Clone)
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 2229_1745
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doAdd(Exchange exchange, String operation)
    protected void doAdd(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.add().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #2306 Negative (Non-Clone)
ID: 3214_2491
ClassID: 3214
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }
        if (loc.endsWith("default-registry")) {
             
            return false;
        }

        return true;
    }
ID: 1914_1576
ClassID: 1914
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        RLock lock = redisson.getLock("aggregationLock");
        try {
            lock.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            lock.unlock();
        }
    }
Pair #2307 Negative (Non-Clone)
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2308 Negative (Non-Clone)
ID: 1037_893
ClassID: 1037
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.getHandler(HttpServerExchange httpServerExchange, String method)
    private HttpHandler getHandler(HttpServerExchange httpServerExchange, String method) {
        HttpHandler answer = null;

         
        if (method == null) {
            return null;
        }

        String path = httpServerExchange.getRequestURI();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer>> paths = new ArrayList<>();
        for (final UndertowConsumer consumer : consumers) {
            paths.add(new RestConsumerPath(consumer));
        }

        RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<UndertowConsumer> candidates = new ArrayList<>();
        if (answer == null) {
            for (final UndertowConsumer consumer : consumers) {

                String consumerPath = consumer.getEndpoint().getHttpURI().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(consumer);
                }
            }
        }

         
        candidates = candidates.stream().filter(c -> matchRestMethod(method, c.getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #2309 Negative (Non-Clone)
ID: 3240_2567
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
Name: org.apache.camel.reifier.SetHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "headerName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetHeaderProcessor answer = new SetHeaderProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
Pair #2310 Negative (Non-Clone)
ID: 558_540
ClassID: 558
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Name: org.apache.camel.management.DefaultManagementAgent.unregister(ObjectName name)
    public void unregister(ObjectName name) throws JMException {
        if (isRegistered(name)) {
            ObjectName on = mbeansRegistered.remove(name);
            server.unregisterMBean(on);
            LOG.debug("Unregistered MBean with ObjectName: {}", name);
        } else {
            mbeansRegistered.remove(name);
        }
    }
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
Pair #2311 Negative (Non-Clone)
ID: 2024_1641
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn(
                    "Reply received for unknown correlationID [{}] on reply destination [{}]. Current correlation map size: {}. The message will be ignored: {}",
                    correlationID, replyTo, correlation.size(), message);
        }
    }
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #2312 Negative (Non-Clone)
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
ID: 3264_2624
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint)
    public Exchange receive(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #2313 Negative (Non-Clone)
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
Pair #2314 Negative (Non-Clone)
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #2315 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
Pair #2316 Negative (Non-Clone)
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #2317 Negative (Non-Clone)
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #2318 Negative (Non-Clone)
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #2319 Negative (Non-Clone)
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #2320 Negative (Non-Clone)
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
ID: 1862_1529
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #2321 Negative (Non-Clone)
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2322 Negative (Non-Clone)
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
ID: 3268_2635
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes)
    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("Searching for: {} in package: {} using classloader: {}",
                    test, packageName, loader.getClass().getName());
        }

        Enumeration<URL> urls = getUrls(packageName, loader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for classes in: {} matching criteria: {}", urlPath, test);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(test, packageName, file, classes);
                } else {
                    InputStream stream = null;
                    try {
                        if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                                || urlPath.startsWith("sonicfs:")
                                || isAcceptableScheme(urlPath)) {
                             
                             
                            LOG.trace("Loading from jar using url: {}", urlPath);
                            URL urlStream = URI.create(urlPath).toURL();
                            URLConnection con = urlStream.openConnection();
                             
                            con.setUseCaches(false);
                            stream = con.getInputStream();
                        } else {
                            LOG.trace("Loading from jar using file: {}", file);
                            stream = new FileInputStream(file);
                        }

                         
                        if (jarCache == null) {
                             
                            jarCache = LRUCacheFactory.newLRUSoftCache(1000);
                        }

                        loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
                    } finally {
                        IOHelper.close(stream);
                    }
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
Pair #2323 Negative (Non-Clone)
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #2324 Negative (Non-Clone)
ID: 1131_970
ClassID: 1131
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.getConsumer(String key, boolean block, long timeout)
    protected KameletConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            KameletConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #2325 Negative (Non-Clone)
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
Pair #2326 Negative (Non-Clone)
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #2327 Negative (Non-Clone)
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2328 Negative (Non-Clone)
ID: 1371_1238
ClassID: 1371
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/dataformat/thrift/ThriftDataFormat.java
Name: org.apache.camel.dataformat.thrift.ThriftDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected TBase loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (TBase.class.isAssignableFrom(instanceClass)) {
            try {
                return (TBase) instanceClass.getDeclaredConstructor().newInstance();
            } catch (final Exception ex) {
                throw new CamelException(
                        "Cannot set the defaultInstance of ThriftDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Cannot set the defaultInstance of ThriftDataFormat with " + className
                                     + ", as the class is not a subClass of org.apache.thrift.TBase");
        }
    }
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
Pair #2329 Negative (Non-Clone)
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 3271_2644
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
Pair #2330 Negative (Non-Clone)
ID: 899_766
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java
Name: org.apache.camel.component.google.drive.GoogleDriveProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
Pair #2331 Negative (Non-Clone)
ID: 1244_1069
ClassID: 1244
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Component.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDb2Endpoint endpoint = new InfluxDb2Endpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDBClient target = influxDBClient;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDBClient.class);
        }
        endpoint.setInfluxDBClient(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
Pair #2332 Negative (Non-Clone)
ID: 467_498
ClassID: 467
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
Name: org.apache.camel.component.olingo2.internal.Olingo2ApiCollection.Olingo2ApiCollection()
    private Olingo2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo2ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler");
        apiHelpers.put(Olingo2ApiName.DEFAULT, new ApiMethodHelper<>(Olingo2AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo2AppApiMethod.class, Olingo2ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2333 Negative (Non-Clone)
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #2334 Negative (Non-Clone)
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
Pair #2335 Negative (Non-Clone)
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
ID: 899_768
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2336 Negative (Non-Clone)
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2337 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #2338 Negative (Non-Clone)
ID: 1859_1522
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #2339 Negative (Non-Clone)
ID: 103_85
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientRole(Keycloak keycloakClient, Exchange exchange)
    private void updateClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().get(roleName)
                        .update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client role requires POJO request with RoleRepresentation");
        }
    }
ID: 2640_2287
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariable(String key, Object value)
    public FluentProducerTemplate withVariable(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariable and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #2340 Negative (Non-Clone)
ID: 3296_2707
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.resume()
    public void resume() {
        lock.lock();
        try {
            if (status != SUSPENDED) {
                logger().trace("Service is not suspended: {}", this);
                return;
            }
            status = STARTING;
            logger().trace("Resuming service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doResume();
                status = STARTED;
                logger().trace("Resumed service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while resuming service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 112_104
ClassID: 112
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
Name: org.apache.camel.component.servlet.ServletComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "servlet");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #2341 Negative (Non-Clone)
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 1255_1098
ClassID: 1255
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #2342 Negative (Non-Clone)
ID: 1856_1513
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 1040_901
ClassID: 1040
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.isInputStreamNeeded(Object payload)
    protected boolean isInputStreamNeeded(Object payload) {
        if (payload == null) {
            return false;
        }

        if (payload instanceof Source) {
            return false;
        } else if (payload instanceof String) {
            return false;
        } else if (payload instanceof byte[]) {
            return false;
        } else if (payload instanceof Node) {
            return false;
        }

         
        return true;
    }
Pair #2343 Negative (Non-Clone)
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
Pair #2344 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
Pair #2345 Negative (Non-Clone)
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
Pair #2346 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #2347 Negative (Non-Clone)
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #2348 Negative (Non-Clone)
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
Pair #2349 Negative (Non-Clone)
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
Pair #2350 Negative (Non-Clone)
ID: 442_464
ClassID: 442
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.DefaultServerInitializerFactory(NettyConsumer consumer)
    public DefaultServerInitializerFactory(NettyConsumer consumer) {
        this.consumer = consumer;
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
Pair #2351 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 2660_2338
ClassID: 2660
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
Name: org.apache.camel.component.properties.DefaultPropertiesFunctionResolver.resolve(CamelContext context, String name)
    private PropertiesFunction resolve(CamelContext context, String name) {
         
        Class<?> type = null;
        try {
            type = findFactory(name, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PropertiesFunction: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), name);
            }
            if (PropertiesFunction.class.isAssignableFrom(type)) {
                PropertiesFunction answer = (PropertiesFunction) context.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
                ServiceHelper.startService(answer);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PropertiesFunction implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #2352 Negative (Non-Clone)
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
Pair #2353 Negative (Non-Clone)
ID: 1035_887
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.add(final String uriTemplate, final CamelMethodHandler handler)
    public CamelPathTemplateHandler add(final String uriTemplate, final CamelMethodHandler handler) {
        lock.lock();
        try {
            delegate.add(uriTemplate, handler);
            handlers.put(uriTemplate, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #2354 Negative (Non-Clone)
ID: 2568_2149
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processElement(Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement, Set<EipOptionModel> eipOptions, String prefix)
    private void processElement(
            Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement,
            Set<EipOptionModel> eipOptions, String prefix) {
        String fieldName = fieldElement.getName();
        if (element != null) {
            Metadata metadata = fieldElement.getAnnotation(Metadata.class);
            String name = fetchElementName(element, fieldElement, prefix);
            Class<?> fieldTypeElement = fieldElement.getType();
            String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
            boolean isDuration = false;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
                String jt = metadata.javaType();
                if ("java.time.Duration".equals(jt)) {
                    isDuration = true;
                } else {
                    fieldTypeName = jt;
                }
            }

            String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
            String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
            boolean required = element.required();
             
            required = findRequired(fieldElement, required);

             
             
            boolean asPredicate = fieldElement.getAnnotation(AsPredicate.class) != null;
            if (!asPredicate) {
                asPredicate = classElement.getAnnotation(AsPredicate.class) != null;
            }

             
            Set<String> enums = new TreeSet<>();
            boolean isEnum;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
                isEnum = true;
                String[] values = metadata.enums().split(",");
                for (String val : values) {
                    enums.add(val.trim());
                }
            } else {
                isEnum = fieldTypeElement.isEnum();
                if (isEnum) {
                    for (Object val : fieldTypeElement.getEnumConstants()) {
                        String str = val.toString();
                        enums.add(str);
                    }
                }
            }

            String kind = "element";
             
            Set<String> oneOfTypes = new TreeSet<>();
            boolean isOneOf = ONE_OF_TYPE_NAME.equals(fieldTypeName);
            if (isOneOf) {
                 
                 
                kind = "expression";
                oneOfTypes = getOneOfs(ONE_OF_LANGUAGES);
            }
             
            if ("otherwise".equals(name)) {
                oneOfTypes.add("otherwise");
            }

            boolean important = false;
            String displayName = null;
            if (metadata != null) {
                displayName = metadata.displayName();
                important = metadata.important();
            }
            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
            String deprecationNote = null;
            if (metadata != null) {
                deprecationNote = metadata.deprecationNote();
            }
            String label = null;
            if (metadata != null) {
                label = metadata.label();
            }

            EipOptionModel ep = createOption(name, displayName, kind, fieldTypeName, required, defaultValue, label,
                    docComment, deprecated, deprecationNote, isEnum, enums,
                    oneOfTypes, asPredicate, isDuration, important);
            eipOptions.add(ep);
        }
    }
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
Pair #2355 Negative (Non-Clone)
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
ID: 383_428
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager()
    protected ReplyManager createReplyManager() throws Exception {
         
        ReplyManager temporaryQueueReplyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
        temporaryQueueReplyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        temporaryQueueReplyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(temporaryQueueReplyManager, name);
        temporaryQueueReplyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(temporaryQueueReplyManager);

        return temporaryQueueReplyManager;
    }
Pair #2356 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #2357 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
Pair #2358 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 2436_1908
ClassID: 2436
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/XmlHelper.java
Name: org.apache.camel.dsl.jbang.core.common.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
Pair #2359 Negative (Non-Clone)
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
ID: 836_718
ClassID: 836
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
Name: org.apache.camel.component.paho.PahoProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectOptions);
        }
    }
Pair #2360 Negative (Non-Clone)
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #2361 Negative (Non-Clone)
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #2362 Negative (Non-Clone)
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2363 Negative (Non-Clone)
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #2364 Negative (Non-Clone)
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 196_225
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        Message inboundMessage = exchange.getIn();
        Map<String, Object> outboundHeaders = out.getHeaders();
        outboundHeaders.putAll(inboundMessage.getHeaders());
        outboundHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #2365 Negative (Non-Clone)
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 1039_899
ClassID: 1039
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");
        }

        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("jetty", config);

        boolean cors = config.isEnableCORS();
        if (cors) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("jetty", scheme, host, port, path, map);

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

        boolean binding = map.containsKey("httpBindingRef") || map.containsKey("httpBinding");

        if (!binding) {
             
            endpoint.setHttpBinding(new JettyRestHttpBinding(endpoint));
             
            endpoint.setEnableMultipartFilter(false);
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

         
        ServiceHelper.startService(endpoint);

        return consumer;
    }
Pair #2366 Negative (Non-Clone)
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
ID: 2638_2276
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(String endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            String endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #2367 Negative (Non-Clone)
ID: 1195_1022
ClassID: 1195
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> result = new HashMap<>();
         
        String keyPrefix = type.getName().replace('$', '/');
        kvClient = consul.keyValueClient();

        List<String> keys;
        try {
            keys = kvClient.getKeys(keyPrefix);
        } catch (ConsulException e) {
            return result;
        }

        if (keys != null) {
            Object obj;

            for (String key : keys) {
                 
                key = key.substring(key.lastIndexOf('/') + 1);
                obj = lookupByName(key.replace('$', '/'));
                if (type.isInstance(obj)) {
                    result.put(key, type.cast(obj));
                }
            }
        }
        return result;
    }
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2368 Negative (Non-Clone)
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
Pair #2369 Negative (Non-Clone)
ID: 1282_1130
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findEdgeByKey()
    private Function<Exchange, Object> findEdgeByKey() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseEdgeDocument.class;
                return edgeCollection.getEdge(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
Pair #2370 Negative (Non-Clone)
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 304_366
ClassID: 304
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #2371 Negative (Non-Clone)
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
ID: 2188_1723
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.assignFloatingIPToDroplet(Exchange exchange)
    private void assignFloatingIPToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        String ipAddress = exchange.getIn().getHeader(DigitalOceanHeaders.FLOATING_IP_ADDRESS, String.class);

        if (ObjectHelper.isEmpty(ipAddress)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.FLOATING_IP_ADDRESS + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().assignFloatingIP(dropletId, ipAddress);
        LOG.trace("Assign Floating IP to Droplet {}", action);
        exchange.getMessage().setBody(action);
    }
Pair #2372 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 1689_1412
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteTemplateContextFactoryBean) {
                CamelRouteTemplateContextFactoryBean factoryBean = (CamelRouteTemplateContextFactoryBean) value;
                builder.addPropertyValue("routeTemplates", factoryBean.getRouteTemplates());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2373 Negative (Non-Clone)
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
Pair #2374 Negative (Non-Clone)
ID: 304_366
ClassID: 304
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
Pair #2375 Negative (Non-Clone)
ID: 2247_1771
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryModifiedEvent<?, ?> event)
    public void processEvent(CacheEntryModifiedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getNewValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ENTRY_CREATED, event.isCreated());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                    });
        }
    }
ID: 2492_2042
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureProperties(Traits traitsSpec, String[] properties)
    public static void configureProperties(Traits traitsSpec, String[] properties) {
        if (properties == null || properties.length == 0) {
            return;
        }

        Camel camelTrait = Optional.ofNullable(traitsSpec.getCamel()).orElseGet(Camel::new);
        if (camelTrait.getProperties() == null) {
            camelTrait.setProperties(new ArrayList<>());
        }
        camelTrait.getProperties().addAll(List.of(properties));
        traitsSpec.setCamel(camelTrait);
    }
Pair #2376 Negative (Non-Clone)
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #2377 Negative (Non-Clone)
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
ID: 1429_1284
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryCloseDelimiter = "--" + boundary + "--";  
         
         
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryCloseDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryCloseDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryCloseDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
Pair #2378 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2379 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #2380 Negative (Non-Clone)
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #2381 Negative (Non-Clone)
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #2382 Negative (Non-Clone)
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
Pair #2383 Negative (Non-Clone)
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
Pair #2384 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #2385 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
Pair #2386 Negative (Non-Clone)
ID: 1037_893
ClassID: 1037
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.getHandler(HttpServerExchange httpServerExchange, String method)
    private HttpHandler getHandler(HttpServerExchange httpServerExchange, String method) {
        HttpHandler answer = null;

         
        if (method == null) {
            return null;
        }

        String path = httpServerExchange.getRequestURI();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer>> paths = new ArrayList<>();
        for (final UndertowConsumer consumer : consumers) {
            paths.add(new RestConsumerPath(consumer));
        }

        RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<UndertowConsumer> candidates = new ArrayList<>();
        if (answer == null) {
            for (final UndertowConsumer consumer : consumers) {

                String consumerPath = consumer.getEndpoint().getHttpURI().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(consumer);
                }
            }
        }

         
        candidates = candidates.stream().filter(c -> matchRestMethod(method, c.getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #2387 Negative (Non-Clone)
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #2388 Negative (Non-Clone)
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
Pair #2389 Negative (Non-Clone)
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
Pair #2390 Negative (Non-Clone)
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #2391 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
Pair #2392 Negative (Non-Clone)
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #2393 Negative (Non-Clone)
ID: 2615_2263
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(MainModel model)
    public static JsonObject asJsonObject(MainModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (MainGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (MainOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2394 Negative (Non-Clone)
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
ID: 2525_2093
ClassID: 2525
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/Main.java
Name: org.apache.camel.main.Main.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #2395 Negative (Non-Clone)
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
Pair #2396 Negative (Non-Clone)
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
ID: 2657_2326
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
Name: org.apache.camel.processor.SetBodyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, false);
            } else {
                 
                old.setBody(newBody);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #2397 Negative (Non-Clone)
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #2398 Negative (Non-Clone)
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2399 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 2463_1970
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.readReceiveFiles(Map<Long, Pid> pids)
    private int readReceiveFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getReceiveFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #2400 Negative (Non-Clone)
ID: 406_437
ClassID: 406
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
Name: org.apache.camel.component.couchbase.CouchbaseEndpoint.CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component)
    public CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component) throws URISyntaxException {
        super(uri, component);
        URI remainingUri = new URI(remaining);

        protocol = remainingUri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }

        port = remainingUri.getPort() == -1 ? DEFAULT_COUCHBASE_PORT : remainingUri.getPort();

        hostname = remainingUri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }
    }
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
Pair #2401 Negative (Non-Clone)
ID: 1430_1287
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundEndBoundary;
        try {
            foundEndBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundEndBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundEndBoundary && boundary != null) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
Pair #2402 Negative (Non-Clone)
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #2403 Negative (Non-Clone)
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #2404 Negative (Non-Clone)
ID: 229_273
ClassID: 229
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.smb.strategy.SmbChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file,
            Exchange exchange) {

        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("smb-acquire-exclusive-read-lock")
                .build();

        SmbExclusiveReadLockCheck exclusiveReadLockCheck = new SmbExclusiveReadLockCheck(minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }
        return true;
    }
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
Pair #2405 Negative (Non-Clone)
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 2386_1879
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPart(String channel, IRCUser user, String msg)
        public void onPart(String channel, IRCUser user, String msg) {
            if (configuration.isOnPart()) {
                Exchange exchange = createOnPartExchange(channel, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #2406 Negative (Non-Clone)
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #2407 Negative (Non-Clone)
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2408 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1256_1104
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #2409 Negative (Non-Clone)
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 1040_901
ClassID: 1040
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.isInputStreamNeeded(Object payload)
    protected boolean isInputStreamNeeded(Object payload) {
        if (payload == null) {
            return false;
        }

        if (payload instanceof Source) {
            return false;
        } else if (payload instanceof String) {
            return false;
        } else if (payload instanceof byte[]) {
            return false;
        } else if (payload instanceof Node) {
            return false;
        }

         
        return true;
    }
Pair #2410 Negative (Non-Clone)
ID: 2670_2358
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfGroup(String key)
    public int forceCompletionOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force completion triggered for correlation key: {}", key);
                 
                exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                Exchange answer = onCompletion(key, exchange, exchange, false, false);
                if (answer != null) {
                    onSubmitCompletion(key, answer);
                }
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force completion of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 304_366
ClassID: 304
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #2411 Negative (Non-Clone)
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #2412 Negative (Non-Clone)
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 981_838
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InOutParameter()
  final public InOutParameter InOutParameter() throws ParseException {Token sqlTypeToken;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
     String outValueMapKey;
    jj_consume_token(3);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[8] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[9] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
    jj_consume_token(1);
    outValueMapKey = OutHeader();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InOutParameter(sqlType, valueSrcToken, scale, typeName, outValueMapKey);}
    throw new Error("Missing return statement in function");
}
Pair #2413 Negative (Non-Clone)
ID: 3220_2505
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            key = key.toUpperCase(Locale.ENGLISH).replace('-', '_');

             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);

            if (host != null && port != null) {
                return host + ":" + port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 681_612
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #2414 Negative (Non-Clone)
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
ID: 3271_2643
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #2415 Negative (Non-Clone)
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #2416 Negative (Non-Clone)
ID: 1497_1338
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameNA(String size)
    public MediaSizeName selectMediaSizeNameNA(String size) {
        if (size.equalsIgnoreCase("na_letter")) {
            mediaSizeName = MediaSizeName.NA_LETTER;
        } else if (size.equalsIgnoreCase("na_legal")) {
            mediaSizeName = MediaSizeName.NA_LEGAL;
        } else if (size.equalsIgnoreCase("executive")) {
            mediaSizeName = MediaSizeName.EXECUTIVE;
        } else if (size.equalsIgnoreCase("ledger")) {
            mediaSizeName = MediaSizeName.LEDGER;
        } else if (size.equalsIgnoreCase("tabloid")) {
            mediaSizeName = MediaSizeName.TABLOID;
        } else if (size.equalsIgnoreCase("invoice")) {
            mediaSizeName = MediaSizeName.INVOICE;
        } else if (size.equalsIgnoreCase("folio")) {
            mediaSizeName = MediaSizeName.FOLIO;
        } else if (size.equalsIgnoreCase("quarto")) {
            mediaSizeName = MediaSizeName.QUARTO;
        } else if (size.equalsIgnoreCase("japanese_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_POSTCARD;
        } else if (size.equalsIgnoreCase("oufuko_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_DOUBLE_POSTCARD;
        } else if (size.equalsIgnoreCase("a")) {
            mediaSizeName = MediaSizeName.A;
        } else if (size.equalsIgnoreCase("b")) {
            mediaSizeName = MediaSizeName.B;
        } else if (size.equalsIgnoreCase("c")) {
            mediaSizeName = MediaSizeName.C;
        } else if (size.equalsIgnoreCase("d")) {
            mediaSizeName = MediaSizeName.D;
        } else if (size.equalsIgnoreCase("e")) {
            mediaSizeName = MediaSizeName.E;
        } else if (size.equalsIgnoreCase("iso_designated_long")) {
            mediaSizeName = MediaSizeName.ISO_DESIGNATED_LONG;
        } else if (size.equalsIgnoreCase("italian_envelope")) {
            mediaSizeName = MediaSizeName.ITALY_ENVELOPE;
        } else if (size.equalsIgnoreCase("monarch_envelope")) {
            mediaSizeName = MediaSizeName.MONARCH_ENVELOPE;
        } else if (size.equalsIgnoreCase("personal_envelope")) {
            mediaSizeName = MediaSizeName.PERSONAL_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_9_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_10_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_10_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_11_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_12_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_14_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_6x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_6X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_7x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_7X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x11_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x12_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x13_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X13_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x14_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x15_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X15_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_5x7")) {
            mediaSizeName = MediaSizeName.NA_5X7;
        } else if (size.equalsIgnoreCase("na_8x10")) {
            mediaSizeName = MediaSizeName.NA_8X10;
        } else {
            mediaSizeName = MediaSizeName.NA_LETTER;
        }

        return mediaSizeName;
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #2417 Negative (Non-Clone)
ID: 2187_1718
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.getKey(Exchange exchange)
    private void getKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Key key;

        if (ObjectHelper.isNotEmpty(keyId)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            key = getEndpoint().getDigitalOceanClient().getKeyInfo(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }
        LOG.trace("Key [{}] ", key);
        exchange.getMessage().setBody(key);
    }
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #2418 Negative (Non-Clone)
ID: 1548_1369
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Starting ZooKeeper Curator with namespace '{}', nodes: '{}'",
                        configuration.getNamespace(),
                        String.join(",", configuration.getNodes()));
            }

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }
    }
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
Pair #2419 Negative (Non-Clone)
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1492_1335
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final ByteString node)
    public static String nodeValue(final String namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2420 Negative (Non-Clone)
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #2421 Negative (Non-Clone)
ID: 15_16
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastOperation.java
Name: org.apache.camel.component.hazelcast.HazelcastOperation.getHazelcastOperation(String name)
    public static HazelcastOperation getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastOperation hazelcastOperation : VALUES) {
            if (hazelcastOperation.toString().equalsIgnoreCase(name) || hazelcastOperation.name().equalsIgnoreCase(name)) {
                return hazelcastOperation;
            }
        }
        throw new IllegalArgumentException(String.format("Operation '%s' is not supported by this component.", name));
    }
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
Pair #2422 Negative (Non-Clone)
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
Pair #2423 Negative (Non-Clone)
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2424 Negative (Non-Clone)
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 2557_2128
ClassID: 2557
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
Name: org.apache.camel.util.xml.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (!textBuffer.isEmpty()) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #2425 Negative (Non-Clone)
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #2426 Negative (Non-Clone)
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
ID: 3291_2692
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("KeyManagersParameters[keyStore=");
        builder.append(keyStore);
        builder.append(", keyPassword=");
        builder.append("********");
        builder.append(", provider=");
        builder.append(provider);
        builder.append(", algorithm=");
        builder.append(algorithm);
        builder.append("]");
        return builder.toString();
    }
Pair #2427 Negative (Non-Clone)
ID: 3295_2701
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLSocketFactory>> getSSLSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLSocket>> sslSocketConfigurers = this.getSSLSocketFactorySSLSocketConfigurers(context);

        Configurer<SSLSocketFactory> sslSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLSocketFactory configure(SSLSocketFactory factory) {
                return new SSLSocketFactoryDecorator(
                        factory,
                        sslSocketConfigurers);
            }
        };

        List<Configurer<SSLSocketFactory>> sslSocketFactoryConfigurers = new LinkedList<>();
        sslSocketFactoryConfigurers.add(sslSocketFactoryConfigurer);

        return sslSocketFactoryConfigurers;
    }
ID: 1490_1329
ClassID: 1490
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #2428 Negative (Non-Clone)
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #2429 Negative (Non-Clone)
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2301_1822
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Consumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
Pair #2430 Negative (Non-Clone)
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
Pair #2431 Negative (Non-Clone)
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
Pair #2432 Negative (Non-Clone)
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #2433 Negative (Non-Clone)
ID: 443_467
ClassID: 443
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    configuration.getPassphrase().toCharArray());
        }

        return answer;
    }
ID: 2604_2230
ClassID: 2604
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #2434 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 3230_2534
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionSingleExpression()
    public static Expression fileOnlyNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext.single";
            }
        };
    }
Pair #2435 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 110_102
ClassID: 110
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
Name: org.apache.camel.impl.console.DefaultDevConsoleRegistry.register(DevConsole console)
    public boolean register(DevConsole console) {
        boolean result;
         
        if (getConsole(console.getId()).isPresent()) {
            return false;
        }
        result = consoles.add(console);
        if (result) {
            CamelContextAware.trySetCamelContext(console, camelContext);
             
            ServiceHelper.startService(console);
            LOG.debug("DevConsole with id {} successfully registered", console.getId());
        }
        return result;
    }
Pair #2436 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #2437 Negative (Non-Clone)
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
ID: 184_176
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "queryAll/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
Pair #2438 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
Pair #2439 Negative (Non-Clone)
ID: 2656_2323
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/MandatorySagaProcessor.java
Name: org.apache.camel.processor.saga.MandatorySagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator == null) {
                exchange.setException(new CamelExchangeException("Exchange is not part of a saga", exchange));
                callback.done(false);
            } else {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            }
        }));
        return false;
    }
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #2440 Negative (Non-Clone)
ID: 3335_2735
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstNotNull(ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstNotNull(ThrowingSupplier<T, Exception>... suppliers) throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (answer != null) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
Pair #2441 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 2443_1924
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getId(SuspendedRow r)
    private String getId(SuspendedRow r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #2442 Negative (Non-Clone)
ID: 1784_1466
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSslSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSslSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (sslSocketConnectors != null) {
            answer = sslSocketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #2443 Negative (Non-Clone)
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
Pair #2444 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
Pair #2445 Negative (Non-Clone)
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
Pair #2446 Negative (Non-Clone)
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
ID: 51_64
ClassID: 51
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
Name: org.apache.camel.component.file.remote.SftpOperations.forceDisconnect()
    public void forceDisconnect() throws GenericFileOperationFailedException {
        lock.lock();
        try {
            if (session != null) {
                session.disconnect();
            }
            if (channel != null) {
                channel.disconnect();
            }
        } finally {
             
            session = null;
            channel = null;
            lock.unlock();
        }
    }
Pair #2447 Negative (Non-Clone)
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #2448 Negative (Non-Clone)
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #2449 Negative (Non-Clone)
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
Pair #2450 Negative (Non-Clone)
ID: 2563_2137
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getClassJavadocRaw(AbstractJavaSource clazz, String rawClass)
    private static String getClassJavadocRaw(AbstractJavaSource clazz, String rawClass) {
        Object obj = clazz.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #2451 Negative (Non-Clone)
ID: 1856_1515
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
             
             
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
Pair #2452 Negative (Non-Clone)
ID: 2508_2059
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.fields(ClassInfo ci)
    protected Set<FieldInfo> fields(ClassInfo ci) {
        Set<FieldInfo> fields = new TreeSet<>(Comparator.comparing(FieldInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            fields.addAll(current.fields());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return fields;
    }
ID: 2527_2098
ClassID: 2527
File: systems/camel-java/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/Helper.java
Name: org.apache.camel.dsl.java.joor.Helper.determineImports(String content)
    public static List<String> determineImports(String content) {
        List<String> answer = new ArrayList<>();
        final Matcher matcher = IMPORT_PATTERN.matcher(content);
        while (matcher.find()) {
            String imp = matcher.group(1);
            imp = imp.trim();
            answer.add(imp);
        }
        return answer;
    }
Pair #2453 Negative (Non-Clone)
ID: 452_482
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.moveFile(String fileId, String destinationFolderId, String newName)
    public BoxFile moveFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToMove = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFile) fileToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFile) fileToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2454 Negative (Non-Clone)
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
Pair #2455 Negative (Non-Clone)
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2456 Negative (Non-Clone)
ID: 1005_865
ClassID: 1005
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.parseQueryParams(Map<String, Object> options)
    private void parseQueryParams(Map<String, Object> options) {
         
        final Map<String, String> queryParams = new HashMap<>();
        for (Iterator<Map.Entry<String, Object>> it = options.entrySet().iterator(); it.hasNext();) {

            final Map.Entry<String, Object> entry = it.next();
            final String paramName = entry.getKey();

             
            if (paramName.startsWith("consumer.")) {
                continue;
            }

            if (!olingo2endpointPropertyNames.contains(paramName)) {

                 
                final Object value = entry.getValue();
                if (value == null) {
                    throw new IllegalArgumentException("Null value for query parameter " + paramName);
                }
                queryParams.put(paramName, value.toString());

                 
                it.remove();
            }
        }
        if (!queryParams.isEmpty()) {

            @SuppressWarnings("unchecked")
            final Map<String, String> oldParams = (Map<String, String>) options.get(QUERY_PARAMS_PROPERTY);
            if (oldParams == null) {
                 
                options.put(QUERY_PARAMS_PROPERTY, queryParams);
            } else {
                 
                oldParams.putAll(queryParams);
            }

        }
    }
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #2457 Negative (Non-Clone)
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #2458 Negative (Non-Clone)
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
ID: 15_16
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastOperation.java
Name: org.apache.camel.component.hazelcast.HazelcastOperation.getHazelcastOperation(String name)
    public static HazelcastOperation getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastOperation hazelcastOperation : VALUES) {
            if (hazelcastOperation.toString().equalsIgnoreCase(name) || hazelcastOperation.name().equalsIgnoreCase(name)) {
                return hazelcastOperation;
            }
        }
        throw new IllegalArgumentException(String.format("Operation '%s' is not supported by this component.", name));
    }
Pair #2459 Negative (Non-Clone)
ID: 1265_1109
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters)
    public static String extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters) {
        Object param = parameters.get(PARAM_TEMPLATE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_TEMPLATE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.before(remaining, "/");
        }
        if (answer == null) {
            answer = remaining;
        }

        return answer;
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #2460 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
Pair #2461 Negative (Non-Clone)
ID: 3170_2439
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsJSon(Integer index, Boolean includeBody)
    public String browseMessageAsJSon(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsJSon(msg, includeBody);
    }
ID: 2245_1767
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #2462 Negative (Non-Clone)
ID: 181_169
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
    private <T> T unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, resultClass);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #2463 Negative (Non-Clone)
ID: 3284_2679
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertHeaderProcessor.java
Name: org.apache.camel.support.processor.ConvertHeaderProcessor.ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName, Class<?> type, String charset, boolean mandatory)
    public ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName,
                                  Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(headerName, "headerName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.headerName = headerName;
        this.toName = toName;
        this.toHeaderName = toHeaderName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
Pair #2464 Negative (Non-Clone)
ID: 2268_1787
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #2465 Negative (Non-Clone)
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
ID: 2211_1736
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.throwError(JobRequest message)
    public JobResponse throwError(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.ThrowErrorRequest.Builder builder = GatewayOuterClass.ThrowErrorRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setErrorMessage(message.getErrorMessage());
            builder = builder.setErrorCode(message.getErrorCode());
            GatewayOuterClass.ThrowErrorRequest request = builder.build();
            GatewayOuterClass.ThrowErrorResponse failJobResponse = stub.throwError(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #2466 Negative (Non-Clone)
ID: 218_240
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.subscribeToMono(final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback)
    private <T> void subscribeToMono(
            final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback) {
        inputMono
                .subscribe(resultsCallback, error -> {
                     
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    }
                    exchange.setException(error);
                    callback.done(false);
                }, () -> {
                     
                    LOG.trace("All events with exchange have been sent successfully.");
                    callback.done(false);
                });
    }
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
Pair #2467 Negative (Non-Clone)
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
ID: 1546_1362
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (leaderSelector == null || isStoppingOrStopped()) {
            return Optional.empty();
        }

        try {
            Participant participant = leaderSelector.getLeader();

            return ObjectHelper.equal(participant.getId(), localMember.getId())
                    ? Optional.of(localMember)
                    : Optional.of(new CuratorClusterMember(participant));
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get get master because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Optional.empty();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2468 Negative (Non-Clone)
ID: 2273_1798
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.remove(final Exchange exchange, final String messageId)
    public boolean remove(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

        Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    MessageProcessed processed = (MessageProcessed) list.get(0);
                    entityManager.remove(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("remove {}", messageId);
        return rc[0];
    }
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
Pair #2469 Negative (Non-Clone)
ID: 1308_1157
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.run()
        public void run() {
            FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().services().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Service, ServiceList, ServiceResource<Service>> client
                        = getEndpoint().getKubernetesClient().services().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #2470 Negative (Non-Clone)
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 1000_854
ClassID: 1000
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createOlingo4App(Olingo4Configuration configuration)
    private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (IOException | GeneralSecurityException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo4AppImpl olingo4App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo4AppWrapper(olingo4App);
        apiProxy.getOlingo4App().setContentType(configuration.getContentType());
        apiProxy.getOlingo4App().setHttpHeaders(configuration.getHttpHeaders());

        return apiProxy;
    }
Pair #2471 Negative (Non-Clone)
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
ID: 1282_1128
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveVertex()
    private Function<Exchange, Object> saveVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.insertVertex(vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2472 Negative (Non-Clone)
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
ID: 744_672
ClassID: 744
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/DebeziumConsumer.java
Name: org.apache.camel.component.debezium.DebeziumConsumer.onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event)
    private void onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event) {
        final Exchange exchange = endpoint.createDbzExchange(this, event.value());

        try {
             
            getProcessor().process(exchange);
        } catch (Exception ex) {
            exchange.setException(ex);
        } finally {
             
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange,
                        exchange.getException());
            }
            releaseExchange(exchange, false);
        }
    }
Pair #2473 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 2515_2072
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.stripSourceLocationLineNumber(String location)
    public static String stripSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(0, pos);
        } else {
            return location;
        }
    }
Pair #2474 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2475 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #2476 Negative (Non-Clone)
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2477 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #2478 Negative (Non-Clone)
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #2479 Negative (Non-Clone)
ID: 1309_1172
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.eventReceived(Action action, ReplicationController resource)
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2380_1871
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(String[] array1, String[] array2)
    public static String[] concat(String[] array1, String[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        String[] array = new String[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
Pair #2480 Negative (Non-Clone)
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
Pair #2481 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
Pair #2482 Negative (Non-Clone)
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2483 Negative (Non-Clone)
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #2484 Negative (Non-Clone)
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
ID: 2522_2079
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumSqlserverComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumSqlserverComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumSqlserverComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumSqlserverComponent) component).setConfiguration((org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumSqlserverComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInstance": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseInstance((java.lang.String) value); return true;
            case "databaseNames": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseNames((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "dataQueryMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDataQueryMode((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotOptionRecompile": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotOptionRecompile((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxBatchSize((int) value); return true;
            case "maxIterationTransactions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxIterationTransactions((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingDelayMs((long) value); return true;
            case "streamingFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingFetchSize((int) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #2485 Negative (Non-Clone)
ID: 2454_1949
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Quarkus project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            if (!prop.containsKey("quarkus.http.port")) {
                int port = httpServerPort(settings);
                if (port == -1) {
                    port = 8080;
                }
                if (port != 8080) {
                    prop.put("quarkus.http.port", port);
                }
            }
            if (!prop.containsKey("quarkus.management.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("quarkus.management.port", port);
                }
            }
            if (hawtio) {
                prop.setProperty("quarkus.hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
         
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + "quarkus-app" + File.separator + "quarkus-run.jar";
        copyReadme(BUILD_DIR, appJar);
         
        Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createGradleProperties(buildDir.resolve("gradle.properties"));
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }

        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Path.of(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
ID: 2189_1725
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.untagDroplet(Exchange exchange)
    private void untagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().untagResources(dropletId.toString(), resources);
        LOG.trace("Untag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #2486 Negative (Non-Clone)
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #2487 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
Pair #2488 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 2566_2145
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateMimeTypeHelper.java
Name: org.apache.camel.maven.packaging.UpdateMimeTypeHelper.updateMimeTypeHelper(File camelDir, Map<String, String> types)
    private boolean updateMimeTypeHelper(File camelDir, Map<String, String> types) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/MimeTypeHelper.java");
        String text = PackageHelper.loadText(java);
        String spaces4 = "    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner("\n");
        for (var e : types.entrySet()) {
            sb.add(spaces12 + "case \"" + e.getKey() + "\" -> \"" + e.getValue() + "\";");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, TYPES_START_TOKEN, TYPES_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, TYPES_START_TOKEN);
                String after = Strings.after(text, TYPES_END_TOKEN);
                text = before + TYPES_START_TOKEN + "\n" + spaces12 + changed + "\n" + spaces12 + TYPES_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #2489 Negative (Non-Clone)
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #2490 Negative (Non-Clone)
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
Pair #2491 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
Pair #2492 Negative (Non-Clone)
ID: 3243_2574
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/MethodCallExpressionReifier.java
Name: org.apache.camel.reifier.language.MethodCallExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[7];
        properties[0] = asResultType();
        properties[1] = definition.getInstance();
        properties[2] = parseString(definition.getMethod());
        properties[3] = definition.getBeanType();
        properties[4] = parseString(definition.getRef());
        properties[5] = parseString(definition.getScope());
        properties[6] = parseString(definition.getValidate());
        return properties;
    }
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
Pair #2493 Negative (Non-Clone)
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2494 Negative (Non-Clone)
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
Pair #2495 Negative (Non-Clone)
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 126_117
ClassID: 126
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
Pair #2496 Negative (Non-Clone)
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #2497 Negative (Non-Clone)
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
ID: 1427_1280
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(encryptedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #2498 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2499 Negative (Non-Clone)
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
Pair #2500 Negative (Non-Clone)
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
Pair #2501 Negative (Non-Clone)
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 2647_2304
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, Object target, String name, Object value)
    public boolean setProperty(CamelContext context, Object target, String name, Object value) throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, target, name, value);
    }
Pair #2502 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
Pair #2503 Negative (Non-Clone)
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
Pair #2504 Negative (Non-Clone)
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #2505 Negative (Non-Clone)
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
Pair #2506 Negative (Non-Clone)
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #2507 Negative (Non-Clone)
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #2508 Negative (Non-Clone)
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 2577_2167
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeComponent()
    private void executeComponent() throws MojoExecutionException {
         
        final String kind = "component";
        List<String> componentNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!componentNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + componentNames.size() + " components");
            }

            for (String componentName : componentNames) {
                String json = loadJsonFrom(jsonFiles, kind, componentName);
                if (json != null) {
                     
                    componentName = asComponentName(componentName);

                    File file = new File(componentDocDir, componentName + "-" + kind + ".adoc");
                    boolean exists = file.exists();

                    ComponentModel model = generateComponentModel(json);
                    String title = asComponentTitle(model.getScheme(), model.getTitle());
                    model.setTitle(title);

                    boolean updated = updateHeader(componentName, file, model, " Component");

                    checkComponentHeader(file);
                    checkSince(file);

                    String options = evaluateTemplate("component-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No component doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #2509 Negative (Non-Clone)
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
Pair #2510 Negative (Non-Clone)
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #2511 Negative (Non-Clone)
ID: 2583_2181
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbGenericArrayTypeImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbGenericArrayTypeImpl.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof GenericArrayType) {
            return ((GenericArrayType) obj).getGenericComponentType().equals(componentType);
        } else {
            return false;
        }

    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2512 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
Pair #2513 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #2514 Negative (Non-Clone)
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
Pair #2515 Negative (Non-Clone)
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 3103_2383
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.ignoreInvalidExchanges()
    public ResequenceDefinition ignoreInvalidExchanges() {
        if (streamConfig != null) {
            streamConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        } else {
             
            if (batchConfig == null) {
                batch();
            }
            batchConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        }
        return this;
    }
Pair #2516 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
Pair #2517 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 2258_1784
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/collection/FindCollectionOperation.java
Name: org.apache.camel.component.nitrite.operation.collection.FindCollectionOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        NitriteCollection collection = (NitriteCollection) endpoint.getNitriteCollection();
        if (filter != null && findOptions != null) {
            exchange.getMessage().setBody(collection.find(filter, findOptions));
        } else if (filter != null) {
            exchange.getMessage().setBody(collection.find(filter));
        } else {
            exchange.getMessage().setBody(collection.find());
        }

    }
Pair #2518 Negative (Non-Clone)
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #2519 Negative (Non-Clone)
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
Pair #2520 Negative (Non-Clone)
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #2521 Negative (Non-Clone)
ID: 1282_1130
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findEdgeByKey()
    private Function<Exchange, Object> findEdgeByKey() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseEdgeDocument.class;
                return edgeCollection.getEdge(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
Pair #2522 Negative (Non-Clone)
ID: 3244_2576
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertVariableReifier.java
Name: org.apache.camel.reifier.ConvertVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertVariableProcessor answer
                = new ConvertVariableProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #2523 Negative (Non-Clone)
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #2524 Negative (Non-Clone)
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #2525 Negative (Non-Clone)
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
Pair #2526 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2107_1703
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStreamCallback(Exchange exchange)
    protected DataStreamCallback resolveDataStreamCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER) != null) {
            return (DataStreamCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_CALLBACK_HEADER);
        } else if (getEndpoint().getDataStreamCallback() != null) {
            return getEndpoint().getDataStreamCallback();
        } else {
            throw new IllegalArgumentException("Cannot resolve DataStream callback.");
        }
    }
Pair #2527 Negative (Non-Clone)
ID: 23_33
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
Pair #2528 Negative (Non-Clone)
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1691_1416
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper(camelContext) {

                    @Override
                    public CamelContext getCamelContext() {
                        CamelContext answer = CamelBeanPostProcessor.this.camelContext;
                        if (answer == null) {
                             
                             
                             
                             
                            answer = delegate.getOrLookupCamelContext();
                        }
                        return answer;
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
Pair #2529 Negative (Non-Clone)
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
Pair #2530 Negative (Non-Clone)
ID: 2574_2160
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 2382_1874
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
Name: org.apache.camel.model.ThrowExceptionDefinition.description()
    protected String description() {
        if (exception != null) {
            return exception.getClass().getCanonicalName();
        } else if (ref != null) {
            return "ref:" + ref;
        } else {
            return "";
        }
    }
Pair #2531 Negative (Non-Clone)
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
ID: 2540_2115
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findJavaRouteBuilderClasses(Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project)
    public static void findJavaRouteBuilderClasses(
            Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project) {
        if (includeJava) {
            for (String dir : project.getCompileSourceRoots()) {
                FileUtil.findJavaFiles(new File(dir), javaFiles);
            }
            if (includeTest) {
                for (String dir : project.getTestCompileSourceRoots()) {
                    FileUtil.findJavaFiles(new File(dir), javaFiles);
                }
            }
        }
    }
Pair #2532 Negative (Non-Clone)
ID: 658_591
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.PortProducer.messageToPort(Message message)
    private Port messageToPort(Message message) {
        Port port = message.getBody(Port.class);

        if (port == null) {
            Map headers = message.getHeaders();
            PortBuilder builder = Builders.port();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
                builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
                builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
            }

            port = builder.build();
        }
        return port;
    }
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #2533 Negative (Non-Clone)
ID: 1105_936
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to get group users");
        }

         
        KeystoneListUsersForGroupByAdminRequest request = new KeystoneListUsersForGroupByAdminRequest()
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneListUsersForGroupByAdminResponse response = iamClient.keystoneListUsersForGroupByAdmin(request);
        exchange.getMessage().setBody(gson.toJson(response.getUsers()));
    }
ID: 702_647
ClassID: 702
File: systems/camel-java/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
Name: org.apache.camel.component.splunkhec.SplunkHECEndpoint.provideSSLContext()
    SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
Pair #2534 Negative (Non-Clone)
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2535 Negative (Non-Clone)
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
Pair #2536 Negative (Non-Clone)
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #2537 Negative (Non-Clone)
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #2538 Negative (Non-Clone)
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
ID: 2097_1693
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUploadComplete(String host, String file)
    public void onUploadComplete(String host, String file) {
        String msg = "Uploading to host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
Pair #2539 Negative (Non-Clone)
ID: 201_230
ClassID: 201
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqExpression.java
Name: org.apache.camel.language.jq.JqExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
ID: 1309_1165
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.eventReceived(Action action, HorizontalPodAutoscaler resource)
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2540 Negative (Non-Clone)
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
ID: 1459_1312
ClassID: 1459
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DeleteTableCommand.java
Name: org.apache.camel.component.aws2.ddb.DeleteTableCommand.execute()
    public void execute() {
        TableDescription tableDescription = ddbClient
                .deleteTable(DeleteTableRequest.builder().tableName(determineTableName()).build()).tableDescription();

        HashMap<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.PROVISIONED_THROUGHPUT, tableDescription.provisionedThroughput());
        tmp.put(Ddb2Constants.CREATION_DATE, tableDescription.creationDateTime());
        tmp.put(Ddb2Constants.ITEM_COUNT, tableDescription.itemCount());
        tmp.put(Ddb2Constants.KEY_SCHEMA, tableDescription.keySchema());
        tmp.put(Ddb2Constants.TABLE_NAME, tableDescription.tableName());
        tmp.put(Ddb2Constants.TABLE_SIZE, tableDescription.tableSizeBytes());
        tmp.put(Ddb2Constants.TABLE_STATUS, tableDescription.tableStatus());
        addToResults(tmp);
    }
Pair #2541 Negative (Non-Clone)
ID: 2287_1803
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.describeVectorIndex(S3VectorsClient client, Exchange exchange)
    private void describeVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        GetIndexRequest request = GetIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Describing vector index [{}] in bucket [{}]", vectorIndexName, vectorBucketName);
        GetIndexResponse response = client.getIndex(request);
        LOG.trace("Describe vector index response: {}", response);

         
        message.setBody(response);
    }
ID: 740_666
ClassID: 740
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseTokens()
    protected List<SimpleNode> parseTokens() {
        clear();

         
        nextToken();
        while (!token.getType().isEol()) {
             
            templateText();
            functionText();
            unaryOperator();
            nextToken();
        }

         
         
         

         
        parseAndCreateAstModel();
         
        prepareBlocks();
         
        prepareUnaryExpressions();

        return nodes;
    }
Pair #2542 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
Pair #2543 Negative (Non-Clone)
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
Pair #2544 Negative (Non-Clone)
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #2545 Negative (Non-Clone)
ID: 2522_2088
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.JmsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "clientId": getOrCreateConfiguration((JmsComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((JmsComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((JmsComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((JmsComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((JmsComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((JmsComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((JmsComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((JmsComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((JmsComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((JmsComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((JmsComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((JmsComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((JmsComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((JmsComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((JmsComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((JmsComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((JmsComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((JmsComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((JmsComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((JmsComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((JmsComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((JmsComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((JmsComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((JmsComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((JmsComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((JmsComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((JmsComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((JmsComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((JmsComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((JmsComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((JmsComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((JmsComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((JmsComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((JmsComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((JmsComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((JmsComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((JmsComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((JmsComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((JmsComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((JmsComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((JmsComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((JmsComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((JmsComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((JmsComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((JmsComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((JmsComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((JmsComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((JmsComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((JmsComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((JmsComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((JmsComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((JmsComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((JmsComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((JmsComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((JmsComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((JmsComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((JmsComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((JmsComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((JmsComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((JmsComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((JmsComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((JmsComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((JmsComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((JmsComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((JmsComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((JmsComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((JmsComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((JmsComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((JmsComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((JmsComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((JmsComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((JmsComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((JmsComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((JmsComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((JmsComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((JmsComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((JmsComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((JmsComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((JmsComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((JmsComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((JmsComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((JmsComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((JmsComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((JmsComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((JmsComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((JmsComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((JmsComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((JmsComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((JmsComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((JmsComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((JmsComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((JmsComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((JmsComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((JmsComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((JmsComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 511_528
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterDestinationFactories(DestinationFactoryManager dfm)
    private void unregisterDestinationFactories(DestinationFactoryManager dfm) {
        for (String ns : getTransportIds()) {
            try {
                if (dfm.getDestinationFactory(ns) == this) {
                    dfm.deregisterDestinationFactory(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #2546 Negative (Non-Clone)
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 2602_2227
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLongOrDefault(final String key, final long defaultValue)
    public Long getLongOrDefault(final String key, final long defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #2547 Negative (Non-Clone)
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
ID: 974_820
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setLong(++totalParameterIndex, version + 1);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                    }
Pair #2548 Negative (Non-Clone)
ID: 3254_2606
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.complete(Exchange exchange)
    public CompletableFuture<Void> complete(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPLETING);

        if (doAction) {
            doComplete(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPLETING && status != Status.COMPLETED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot complete: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #2549 Negative (Non-Clone)
ID: 1868_1538
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleReconnect()
    protected void scheduleReconnect() {
        Runnable startRunnable = () -> {
            try {
                initNetworkConnection();
                addNotificationListener();
            } catch (Exception e) {
                LOG.warn("Failed to reconnect to JMX server. >> {}", e.getMessage());
                scheduleReconnect();
            }
        };
        LOG.info("Delaying JMX consumer reconnection for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #2550 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
Pair #2551 Negative (Non-Clone)
ID: 3232_2548
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.bodyOgnlExpression(final String ognl)
    public static Expression bodyOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object body = exchange.getIn().getBody();
                if (body == null) {
                    return null;
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "bodyOgnl(" + ognl + ")";
            }
        };
    }
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #2552 Negative (Non-Clone)
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2553 Negative (Non-Clone)
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 2635_2268
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStop()
    protected void doStop() throws Exception {
        if (contextServicePlugins != null) {
            for (ContextServicePlugin plugin : contextServicePlugins) {
                try {
                    plugin.unload(camelContext);
                } catch (Exception e) {
                    LOG.warn(
                            "Unloading of plugin {} failed, however the exception will be ignored so shutdown can continue. Reason: {}",
                            plugin.getClass().getName(), e.getMessage(), e);
                }
            }
        }
    }
Pair #2554 Negative (Non-Clone)
ID: 3101_2376
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointProducerBuilder != null) {
            return endpointProducerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #2555 Negative (Non-Clone)
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
ID: 2190_1727
ClassID: 2190
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.deleteVolume(Exchange exchange)
    private void deleteVolume(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        Delete delete;
        if (ObjectHelper.isEmpty(volumeId)) {
            String name = exchange.getIn().getHeader(DigitalOceanHeaders.NAME, String.class);
            String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

            if (ObjectHelper.isEmpty(name) && ObjectHelper.isEmpty(region)) {
                throw new IllegalArgumentException(
                        DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.NAME + " and " + DigitalOceanHeaders.REGION
                                                   + " must be specified");
            }

            delete = getEndpoint().getDigitalOceanClient().deleteVolume(name, region);

        } else {
            delete = getEndpoint().getDigitalOceanClient().deleteVolume(volumeId);
        }

        LOG.trace("Delete Volume [{}] ", delete);
        exchange.getMessage().setBody(delete);

    }
Pair #2556 Negative (Non-Clone)
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
ID: 681_613
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
Pair #2557 Negative (Non-Clone)
ID: 378_414
ClassID: 378
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
        public Destination resolveDestinationName(
                Session session, String destinationName,
                boolean pubSubDomain)
                throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.resolveDestinationName(session, destinationName, pubSubDomain);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
Pair #2558 Negative (Non-Clone)
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2559 Negative (Non-Clone)
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 3251_2599
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean.getObject()
    public SecureRandomParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #2560 Negative (Non-Clone)
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2561 Negative (Non-Clone)
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
Pair #2562 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #2563 Negative (Non-Clone)
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #2564 Negative (Non-Clone)
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #2565 Negative (Non-Clone)
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
Pair #2566 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #2567 Negative (Non-Clone)
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
ID: 556_534
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(MessageInfo msgInfo)
    protected void resetPartTypeClass(MessageInfo msgInfo) {
        if (msgInfo != null) {
            int size = msgInfo.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #2568 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
Pair #2569 Negative (Non-Clone)
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
Pair #2570 Negative (Non-Clone)
ID: 380_421
ClassID: 380
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.parseTopicName(String uri)
    private String parseTopicName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #2571 Negative (Non-Clone)
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
ID: 2233_1761
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPushTag(Exchange exchange, String operation)
    protected void doPushTag(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isEmpty(endpoint.getTagName())) {
                throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName())
                        .add(Constants.R_TAGS + endpoint.getTagName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).add(Constants.R_TAGS + endpoint.getTagName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2572 Negative (Non-Clone)
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #2573 Negative (Non-Clone)
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #2574 Negative (Non-Clone)
ID: 1309_1166
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.eventReceived(Action action, GenericKubernetesResource resource)
                            public void eventReceived(Action action, GenericKubernetesResource resource) {
                                Exchange exchange = createExchange(false);
                                exchange.getIn().setBody(Serialization.asJson(resource));
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_ACTION, action);
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_TIMESTAMP,
                                        System.currentTimeMillis());
                                try {
                                    processor.process(exchange);
                                } catch (Exception e) {
                                    getExceptionHandler().handleException("Error during processing", exchange, e);
                                } finally {
                                    releaseExchange(exchange, false);
                                }
                            }
ID: 438_454
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(true);
            if (producer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #2575 Negative (Non-Clone)
ID: 454_485
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.createFolderSharedLink(String folderId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFolderSharedLink(
            String folderId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for folder(id={}) with access={} {}",
                    folderId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(access, BoxHelper.ACCESS);

            BoxFolder folder = new BoxFolder(boxConnection, folderId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return folder.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2576 Negative (Non-Clone)
ID: 3249_2592
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCommonServices()
    private void setupCommonServices() throws Exception {
        BacklogTracer backlogTracer = getBeanForType(BacklogTracer.class);
        if (backlogTracer != null) {
            LOG.info("Using custom BacklogTracer: {}", backlogTracer);
            getContext().addService(backlogTracer);
        }
        InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
        if (inflightRepository != null) {
            LOG.info("Using custom InflightRepository: {}", inflightRepository);
            getContext().setInflightRepository(inflightRepository);
        }
        AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
        if (asyncProcessorAwaitManager != null) {
            LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
            getContext().getCamelContextExtension().addContextPlugin(AsyncProcessorAwaitManager.class,
                    asyncProcessorAwaitManager);
        }
        ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
        if (managementStrategy != null) {
            LOG.info("Using custom ManagementStrategy: {}", managementStrategy);
            getContext().setManagementStrategy(managementStrategy);
        }
        ManagementObjectNameStrategy managementObjectNameStrategy = getBeanForType(ManagementObjectNameStrategy.class);
        if (managementObjectNameStrategy != null) {
            LOG.info("Using custom ManagementObjectNameStrategy: {}", managementObjectNameStrategy);
            getContext().getManagementStrategy().setManagementObjectNameStrategy(managementObjectNameStrategy);
        }
        EventFactory eventFactory = getBeanForType(EventFactory.class);
        if (eventFactory != null) {
            LOG.info("Using custom EventFactory: {}", eventFactory);
            getContext().getManagementStrategy().setEventFactory(eventFactory);
        }
        UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
        if (unitOfWorkFactory != null) {
            LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
            getContext().getCamelContextExtension().addContextPlugin(UnitOfWorkFactory.class, unitOfWorkFactory);
        }
        RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
        if (runtimeEndpointRegistry != null) {
            LOG.info("Using custom RuntimeEndpointRegistry: {}", runtimeEndpointRegistry);
            getContext().setRuntimeEndpointRegistry(runtimeEndpointRegistry);
        }
        EndpointServiceRegistry endpointServiceRegistry = getBeanForType(EndpointServiceRegistry.class);
        if (endpointServiceRegistry != null) {
            LOG.info("Using custom EndpointServiceRegistry: {}", endpointServiceRegistry);
            getContext().getCamelContextExtension().addContextPlugin(EndpointServiceRegistry.class, endpointServiceRegistry);
        }
        HeadersMapFactory headersMapFactory = getBeanForType(HeadersMapFactory.class);
        if (headersMapFactory != null) {
            LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
            getContext().getCamelContextExtension().setHeadersMapFactory(headersMapFactory);
        }
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #2577 Negative (Non-Clone)
ID: 1203_1029
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doSetState(Exchange exchange, AsyncCallback callback)
    private void doSetState(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not publish empty message"));
            callback.done(true);
        }
        LOG.debug("Sending setState [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .setPresenceState()
                .channels(List.of(getChannel(exchange)))
                .state(body)
                .uuid(getUUID(exchange))
                .async((Result<PNSetStateResult> result) -> {
                    LOG.debug("Got setState response [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNSetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #2578 Negative (Non-Clone)
ID: 27_49
ClassID: 27
File: systems/camel-java/components/camel-snmp/src/generated/java/org/apache/camel/component/snmp/SnmpConvertersLoader.java
Name: org.apache.camel.component.snmp.SnmpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.snmp4j.PDU.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toString((org.snmp4j.PDU) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.snmp.OIDList.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toOIDList((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #2579 Negative (Non-Clone)
ID: 1498_1340
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeGIF(String flavor)
    public DocFlavor forMimeTypeGIF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.GIF;
        }

        return d;
    }
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
Pair #2580 Negative (Non-Clone)
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #2581 Negative (Non-Clone)
ID: 239_293
ClassID: 239
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/EventhubsReloadTriggerTask.java
Name: org.apache.camel.component.azure.key.vault.EventhubsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 685_625
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2582 Negative (Non-Clone)
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #2583 Negative (Non-Clone)
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 3258_2615
ClassID: 3258
File: systems/camel-java/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrySelectors.java
Name: org.apache.camel.impl.cloud.ServiceRegistrySelectors.select(Collection<ServiceRegistry> services)
        public Optional<ServiceRegistry> select(Collection<ServiceRegistry> services) {
            Optional<Map.Entry<Integer, List<ServiceRegistry>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(ServiceRegistry::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple ServiceRegistry instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #2584 Negative (Non-Clone)
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 2564_2139
ClassID: 2564
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
Name: org.apache.camel.maven.packaging.MvelHelper.apiMethodAlias(ApiModel api, ApiMethodModel method)
    public static String apiMethodAlias(ApiModel api, ApiMethodModel method) {
        String name = method.getName();
        for (String alias : api.getAliases()) {
            int pos = alias.indexOf('=');
            String pattern = alias.substring(0, pos);
            String aliasMethod = alias.substring(pos + 1);
             
            if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) {
                return aliasMethod;
            }
        }
         
        return "";
    }
Pair #2585 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
Pair #2586 Negative (Non-Clone)
ID: 1477_1315
ClassID: 1477
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
Pair #2587 Negative (Non-Clone)
ID: 1232_1056
ClassID: 1232
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
Name: org.apache.camel.component.atom.AtomComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        AtomEndpoint atom = (AtomEndpoint) endpoint;
        if (atom.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            URI remainingUri = URISupport.createRemainingURI(new URI(remaining), parameters);
            feedUri = remainingUri.toString();
        } else {
            feedUri = remaining;
        }

        atom.setFeedUri(feedUri);
    }
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #2588 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #2589 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 1859_1523
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
Pair #2590 Negative (Non-Clone)
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
ID: 2504_2052
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withIsSecret(JsonNode node)
        public AnnotationBuilder withIsSecret(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withIsSecret(node.asBoolean());
        }
Pair #2591 Negative (Non-Clone)
ID: 1087_929
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopVertx()
    protected void stopVertx() {
        if (this.vertx == null || !this.localVertx) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                        vertx.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.debug("Vert.x stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.vertx = null;
            this.localVertx = false;
        }
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2592 Negative (Non-Clone)
ID: 1856_1513
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #2593 Negative (Non-Clone)
ID: 738_663
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-sqlserver/src/generated/java/org/apache/camel/component/debezium/sqlserver/configuration/SqlServerConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "data.query.mode", dataQueryMode);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "database.instance", databaseInstance);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "database.names", databaseNames);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.allow.schema.changes", incrementalSnapshotAllowSchemaChanges);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "streaming.fetch.size", streamingFetchSize);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.option.recompile", incrementalSnapshotOptionRecompile);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "max.iteration.transactions", maxIterationTransactions);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #2594 Negative (Non-Clone)
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #2595 Negative (Non-Clone)
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #2596 Negative (Non-Clone)
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
Pair #2597 Negative (Non-Clone)
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
Pair #2598 Negative (Non-Clone)
ID: 2460_1962
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentDependencies(Set<String> deps)
    protected void copyAgentDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("agent:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "agent");
                Files.createDirectories(libDirPath);
                String n = d.substring(6);
                MavenGav gav = MavenGav.parseGav(n);
                copyAgentLibDependencies(gav);
            }
        }
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #2599 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 1692_1418
ClassID: 1692
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
Name: org.apache.camel.impl.engine.DefaultInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
             
            CamelContextAware.trySetCamelContext(answer, camelContext);
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #2600 Negative (Non-Clone)
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
Pair #2601 Negative (Non-Clone)
ID: 2220_1739
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isEncryptionKey(PGPPublicKey key)
    private static boolean isEncryptionKey(PGPPublicKey key) {
        if (!key.isEncryptionKey()) {
            return false;
        }
         
        Boolean hasEncryptionKeyFlags
                = hasOneOfExpectedKeyFlags(key, new int[] { KeyFlags.ENCRYPT_COMMS, KeyFlags.ENCRYPT_STORAGE });
        if (hasEncryptionKeyFlags != null && !hasEncryptionKeyFlags) {
            LOG.debug(
                    "Public key with key key ID {} found for specified user ID. But this key will not be used for the encryption, because its key flags are not encryption key flags.",
                    key.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2602 Negative (Non-Clone)
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
Pair #2603 Negative (Non-Clone)
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
Pair #2604 Negative (Non-Clone)
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
ID: 437_452
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureClientSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Client SSL handler configured and added to the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> decoders = producer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        List<ChannelHandler> encoders = producer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

         
        if (producer.getConfiguration().getRequestTimeout() > 0) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Using request timeout {} millis", producer.getConfiguration().getRequestTimeout());
            }
            ChannelHandler timeout
                    = new ReadTimeoutHandler(producer.getConfiguration().getRequestTimeout(), TimeUnit.MILLISECONDS);
            addToPipeline("timeout", channelPipeline, timeout);
        }

         
        addToPipeline("handler", channelPipeline, new ClientChannelHandler(producer));

        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #2605 Negative (Non-Clone)
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #2606 Negative (Non-Clone)
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
Pair #2607 Negative (Non-Clone)
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
Pair #2608 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #2609 Negative (Non-Clone)
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
Pair #2610 Negative (Non-Clone)
ID: 2364_1861
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createCompleteHandler(String modelId, StreamMetadata metadata, StringBuilder fullText)
    public static InvokeModelWithResponseStreamResponseHandler createCompleteHandler(
            String modelId,
            StreamMetadata metadata,
            StringBuilder fullText) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);
                                if (text != null && !text.isEmpty()) {
                                    fullText.append(text);
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setFullText(fullText.toString());
                })
                .build();
    }
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #2611 Negative (Non-Clone)
ID: 1139_983
ClassID: 1139
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
Name: org.apache.camel.component.github.GitHubEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (type == GitHubType.CLOSEPULLREQUEST) {
            return new ClosePullRequestProducer(this);
        } else if (type == GitHubType.PULLREQUESTCOMMENT) {
            return new PullRequestCommentProducer(this);
        } else if (type == GitHubType.PULLREQUESTSTATE) {
            return new PullRequestStateProducer(this);
        } else if (type == GitHubType.PULLREQUESTFILES) {
            return new PullRequestFilesProducer(this);
        } else if (type == GitHubType.GETCOMMITFILE) {
            return new GetCommitFileProducer(this);
        } else if (type == GitHubType.CREATEISSUE) {
            return new CreateIssueProducer(this);
        }
        throw new IllegalArgumentException("Cannot create producer with type " + type);
    }
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
Pair #2612 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #2613 Negative (Non-Clone)
ID: 2365_1864
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange)
    private void processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange) {
        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            org.apache.camel.Message message = getMessageForResponse(exchange);
            org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata metadata
                    = new org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createChunksHandler(
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createCompleteHandler(
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Converse Stream command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
ID: 617_556
ClassID: 617
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.buildProducer()
    protected GenericFileProducer<FTPFile> buildProducer() {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new RemoteFileProducer<>(this, createRemoteFileOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #2614 Negative (Non-Clone)
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
Pair #2615 Negative (Non-Clone)
ID: 1405_1255
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMultiTemplate(Exchange exchange)
    protected SubmitMulti createSubmitMultiTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitMulti submitMulti = new SubmitMulti();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitMulti.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitMulti.setDataCoding(config.getDataCoding());
        }

        byte destAddrTon;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            destAddrTon = in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class);
        } else {
            destAddrTon = config.getDestAddrTon();
        }

        byte destAddrNpi;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            destAddrNpi = in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class);
        } else {
            destAddrNpi = config.getDestAddrNpi();
        }

        List<String> destAddresses;
        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            destAddresses = in.getHeader(SmppConstants.DEST_ADDR, List.class);
        } else {
            destAddresses = Arrays.asList(config.getDestAddr());
        }

        Address[] addresses = new Address[destAddresses.size()];
        int addrNum = 0;
        for (String destAddr : destAddresses) {
            Address addr = new Address(destAddrTon, destAddrNpi, destAddr);
            addresses[addrNum++] = addr;
        }
        submitMulti.setDestAddresses(addresses);

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitMulti.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitMulti.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitMulti.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitMulti.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitMulti.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitMulti.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitMulti.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitMulti.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitMulti.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitMulti.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitMulti.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitMulti.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitMulti.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitMulti.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitMulti.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitMulti.setReplaceIfPresentFlag(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitMulti.setReplaceIfPresentFlag(config.getReplaceIfPresentFlag());
        }

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitMulti.setOptionalParameters(new OptionalParameter[] {});
            }
        }

        return submitMulti;
    }
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2616 Negative (Non-Clone)
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
ID: 1972_1605
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.upsert(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #2617 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
Pair #2618 Negative (Non-Clone)
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2619 Negative (Non-Clone)
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 1862_1531
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #2620 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2621 Negative (Non-Clone)
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #2622 Negative (Non-Clone)
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
ID: 2583_2181
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbGenericArrayTypeImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbGenericArrayTypeImpl.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof GenericArrayType) {
            return ((GenericArrayType) obj).getGenericComponentType().equals(componentType);
        } else {
            return false;
        }

    }
Pair #2623 Negative (Non-Clone)
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 2465_1976
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #2624 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #2625 Negative (Non-Clone)
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
ID: 2440_1916
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugSpringBoot(KameletMain main)
    private int doRunDebugSpringBoot(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-debug-starter");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-cli-connector-starter");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId("org.springframework.boot");
            pi.setArtifactId("spring-boot-maven-plugin");
            pi.setVersion("${spring-boot-version}");
            PluginExecution pe = new PluginExecution();
            pe.addGoal("repackage");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Spring Boot for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "spring-boot:repackage");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        loggingColor ? "-Dspring.output.ansi.enabled=ALWAYS" : "-Dspring.output.ansi.enabled=NEVER",
                        "-jar", "target/camel-jbang-debug.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Spring Boot integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Spring Boot for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #2626 Negative (Non-Clone)
ID: 2100_1697
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.recover(CamelContext camelContext, final String exchangeId)
    public Exchange recover(CamelContext camelContext, final String exchangeId) {
        Exchange answer = null;

        try {
            byte[] completedLDBKey = keyBuilder(getRepositoryNameCompleted(), exchangeId);

            byte[] rc = levelDBFile.getDb().get(completedLDBKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException(
                    "Error recovering exchangeId " + exchangeId + " from repository " + repositoryName, e);
        }

        LOG.debug("Recovering exchangeId [{}] -> {}", exchangeId, answer);
        return answer;
    }
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
Pair #2627 Negative (Non-Clone)
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #2628 Negative (Non-Clone)
ID: 2637_2273
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBodyNoWait(String endpointUri, Class<T> type)
    public <T> T receiveBodyNoWait(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receiveNoWait(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
Pair #2629 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 1500_1353
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignOrientation(final String orientation)
    public OrientationRequested assignOrientation(final String orientation) {
        OrientationRequested answer;

        if (orientation == null) {
             
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("portrait")) {
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("landscape")) {
            answer = OrientationRequested.LANDSCAPE;
        } else if (orientation.equalsIgnoreCase("reverse-portrait")) {
            answer = OrientationRequested.REVERSE_PORTRAIT;
        } else if (orientation.equalsIgnoreCase("reverse-landscape")) {
            answer = OrientationRequested.REVERSE_LANDSCAPE;
        } else {
            answer = OrientationRequested.PORTRAIT;
        }

        return answer;
    }
Pair #2630 Negative (Non-Clone)
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #2631 Negative (Non-Clone)
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #2632 Negative (Non-Clone)
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
ID: 2639_2280
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue)
    protected Processor createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                Message in = exchange.getIn();
                in.setHeader(header, headerValue);
                in.setBody(body);
            }
        };
    }
Pair #2633 Negative (Non-Clone)
ID: 3239_2564
ClassID: 3239
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PolicyReifier.java
Name: org.apache.camel.reifier.PolicyReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Policy policy = resolvePolicy();
        ObjectHelper.notNull(policy, "policy", definition);

         
        policy.beforeWrap(route, definition);

         
        Processor childProcessor = this.createChildProcessor(true);

         
        Processor target = policy.wrap(route, childProcessor);

        if (!(target instanceof Service)) {
             
             
            target = new WrapProcessor(target, childProcessor);
        }
        return target;
    }
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #2634 Negative (Non-Clone)
ID: 383_428
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager()
    protected ReplyManager createReplyManager() throws Exception {
         
        ReplyManager temporaryQueueReplyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
        temporaryQueueReplyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        temporaryQueueReplyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(temporaryQueueReplyManager, name);
        temporaryQueueReplyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(temporaryQueueReplyManager);

        return temporaryQueueReplyManager;
    }
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
Pair #2635 Negative (Non-Clone)
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #2636 Negative (Non-Clone)
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #2637 Negative (Non-Clone)
ID: 2386_1880
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onReply(int num, String value, String msg)
        public void onReply(int num, String value, String msg) {
            if (configuration.isOnReply()) {
                Exchange exchange = createOnReplyExchange(num, value, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1332_1237
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestAggregationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestAggregationStreamObserver.onCompleted()
    public void onCompleted() {
        CountDownLatch latch = new CountDownLatch(1);

        exchange.getIn().setBody(requestList);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> {
            latch.countDown();
        });

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
            responseObserver.onCompleted();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);
        }
    }
Pair #2638 Negative (Non-Clone)
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
Pair #2639 Negative (Non-Clone)
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
Pair #2640 Negative (Non-Clone)
ID: 230_278
ClassID: 230
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FileIdBothDirectoryInformation> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FileIdBothDirectoryInformation> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #2641 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
Pair #2642 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #2643 Negative (Non-Clone)
ID: 2467_1984
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-dump");
        root.put("filter", "*");
        root.put("format", format);
        root.put("uriAsParameters", uriAsParameters);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #2644 Negative (Non-Clone)
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 3230_2542
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileSizeExpression()
    public static Expression fileSizeExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LENGTH, Long.class);
            }

            @Override
            public String toString() {
                return "file:length";
            }
        };
    }
Pair #2645 Negative (Non-Clone)
ID: 1240_1066
ClassID: 1240
File: systems/camel-java/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaConverterLoader.java
Name: org.apache.camel.component.mina.MinaConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toByteArray((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toInputStream((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.ObjectInput.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toObjectInput((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toString((org.apache.mina.core.buffer.IoBuffer) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, org.apache.camel.StreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((org.apache.camel.StreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 449_478
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethGetLogs(Message message)
    void ethGetLogs(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);
        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthLog> request = web3j.ethGetLogs(ethFilter);
        setRequestId(message, request);
        EthLog response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getLogs());
        }
    }
Pair #2646 Negative (Non-Clone)
ID: 2532_2107
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key)
    public Optional<Object> newInstance(String key) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<Object> answer = super.newInstance(key);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            Object obj = ResolverHelper.resolveService(camelContext, finder, key, Object.class).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #2647 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
Pair #2648 Negative (Non-Clone)
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2649 Negative (Non-Clone)
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
Pair #2650 Negative (Non-Clone)
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
Pair #2651 Negative (Non-Clone)
ID: 3278_2658
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualTo(final Expression left, final Expression right)
    public static Predicate isEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "==";
            }
        };
    }
ID: 2603_2228
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getCollectionOrDefault(final String key, final T defaultValue)
    public <T extends Collection<?>> T getCollectionOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        return (T) returnable;
    }
Pair #2652 Negative (Non-Clone)
ID: 3240_2565
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
Name: org.apache.camel.reifier.SetPropertyReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "propertyName", this);
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetPropertyProcessor answer = new SetPropertyProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2653 Negative (Non-Clone)
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #2654 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
Pair #2655 Negative (Non-Clone)
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
ID: 2522_2086
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.ActivemqComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #2656 Negative (Non-Clone)
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
Pair #2657 Negative (Non-Clone)
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
Pair #2658 Negative (Non-Clone)
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2659 Negative (Non-Clone)
ID: 923_797
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubLiteEndpoint endpoint = (GooglePubsubLiteEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/locations/%s/topics/%s", endpoint.getProjectId(), endpoint.getLocation(),
                endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getMessage().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);
        Map<String, String> attributes = exchange.getMessage().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
        String orderingKey = exchange.getMessage().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getMessage().setHeader(GooglePubsubLiteConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #2660 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #2661 Negative (Non-Clone)
ID: 242_309
ClassID: 242
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            if (propertiesFunction.isUseDefaultInstance()) {
                root.put("login", "Default Instance");
            } else {
                root.put("login", "Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                root.put("refreshEnabled", gcp.isRefreshEnabled());
                root.put("refreshPeriod", gcp.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #2662 Negative (Non-Clone)
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
ID: 558_539
ClassID: 558
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/UnitOfWorkCloserInterceptor.java
Name: org.apache.camel.component.cxf.common.UnitOfWorkCloserInterceptor.handleMessage(Message message)
    public void handleMessage(Message message) throws Fault {
        if (handleOneWayMessage) {
            if (isOneWay(message)) {
                CxfUtils.closeCamelUnitOfWork(message);
            }
        } else {  
            CxfUtils.closeCamelUnitOfWork(message);
        }
    }
Pair #2663 Negative (Non-Clone)
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
Pair #2664 Negative (Non-Clone)
ID: 2174_1707
ClassID: 2174
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.getNextElement()
    private Message getNextElement() {
        if (asn1InputStream == null) {
            return null;
        }

        try {
            ASN1Primitive current = getNextEntry();

            if (current != null) {
                Message answer = new DefaultMessage(exchange.getContext());
                answer.getHeaders().putAll(exchange.getIn().getHeaders());
                answer.setBody(current.getEncoded());
                return answer;
            } else {
                LOGGER.trace("close asn1InputStream");
                return null;
            }
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #2665 Negative (Non-Clone)
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
Pair #2666 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 483_507
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
Pair #2667 Negative (Non-Clone)
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 1320_1226
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.configMaps().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, ConfigMap configMap) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(configMap.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Configmaps: {} detected, triggering CamelContext reload",
                                        configMap.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
Pair #2668 Negative (Non-Clone)
ID: 1244_1069
ClassID: 1244
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Component.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDb2Endpoint endpoint = new InfluxDb2Endpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDBClient target = influxDBClient;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDBClient.class);
        }
        endpoint.setInfluxDBClient(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 188_195
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.JobsResponseCallback() {
                    @Override
                    public void onResponse(Jobs jobs, Map<String, String> headers, SalesforceException ex) {
                        BulkApiV2Processor.this.processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #2669 Negative (Non-Clone)
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
ID: 2400_1889
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferProducer.java
Name: org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case READ_ONCE_HEAD:
                this.readOnceHead(exchange);
                break;

            case READ_ONCE_TAIL:
                this.readOnceTail(exchange);
                break;

            case CAPACITY:
                this.getCapacity(exchange);
                break;

            case REMAINING_CAPACITY:
                this.getRemainingCapacity(exchange);
                break;

            case ADD:
                this.add(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the RINGBUFFER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2670 Negative (Non-Clone)
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 1914_1578
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = replicatedCache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
Pair #2671 Negative (Non-Clone)
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #2672 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2673 Negative (Non-Clone)
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #2674 Negative (Non-Clone)
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
Pair #2675 Negative (Non-Clone)
ID: 1723_1444
ClassID: 1723
File: systems/camel-java/components/camel-opensearch/src/generated/java/org/apache/camel/component/opensearch/converter/OpensearchActionRequestConverterLoader.java
Name: org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.opensearch.client.opensearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1307_1147
ClassID: 1307
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumer.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2676 Negative (Non-Clone)
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
Pair #2677 Negative (Non-Clone)
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 1807_1479
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePushImageRequest(DockerClient client, Message message)
    private PushImageCmd executePushImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Push Image Request");

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        ObjectHelper.notNull(name, "Image name must be specified");

        PushImageCmd pushImageCmd = client.pushImageCmd(name);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (tag != null) {
            pushImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pushImageCmd.withAuthConfig(authConfig);
        }

        return pushImageCmd;

    }
Pair #2678 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 1307_1147
ClassID: 1307
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumer.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2679 Negative (Non-Clone)
ID: 2443_1924
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getId(SuspendedRow r)
    private String getId(SuspendedRow r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #2680 Negative (Non-Clone)
ID: 658_591
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.PortProducer.messageToPort(Message message)
    private Port messageToPort(Message message) {
        Port port = message.getBody(Port.class);

        if (port == null) {
            Map headers = message.getHeaders();
            PortBuilder builder = Builders.port();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
                builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
                builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
            }

            port = builder.build();
        }
        return port;
    }
ID: 1423_1268
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.close()
    public void close() {
        if (acceptorThread != null) {
            lock.lock();
            try {
                try {
                     
                    if (serversocket != null) {
                        serversocket.close();
                    }
                } catch (IOException e) {
                    LOG.debug(e.getMessage(), e);
                } finally {
                    acceptorThread = null;
                    listenerService = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2681 Negative (Non-Clone)
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
ID: 2243_1764
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #2682 Negative (Non-Clone)
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #2683 Negative (Non-Clone)
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #2684 Negative (Non-Clone)
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #2685 Negative (Non-Clone)
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 18_28
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulEventProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj;
        switch (key) {
        case "fire":
        case "FIRE": target.fire(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2686 Negative (Non-Clone)
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
Pair #2687 Negative (Non-Clone)
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2688 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #2689 Negative (Non-Clone)
ID: 901_774
ClassID: 901
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.getEndpointConfiguration(GoogleSheetsApiName apiName)
    public GoogleSheetsConfiguration getEndpointConfiguration(GoogleSheetsApiName apiName) {
        GoogleSheetsConfiguration result = null;
        switch (apiName) {
            case SPREADSHEETS:
                result = new SheetsSpreadsheetsEndpointConfiguration();
                break;
            case DATA:
                result = new SheetsSpreadsheetsValuesEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #2690 Negative (Non-Clone)
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
Pair #2691 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
Pair #2692 Negative (Non-Clone)
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
Pair #2693 Negative (Non-Clone)
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #2694 Negative (Non-Clone)
ID: 2451_1942
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDevConsoleNames()) {
            DevConsoleModel model = catalog.devConsoleModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #2695 Negative (Non-Clone)
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #2696 Negative (Non-Clone)
ID: 2568_2149
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processElement(Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement, Set<EipOptionModel> eipOptions, String prefix)
    private void processElement(
            Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement,
            Set<EipOptionModel> eipOptions, String prefix) {
        String fieldName = fieldElement.getName();
        if (element != null) {
            Metadata metadata = fieldElement.getAnnotation(Metadata.class);
            String name = fetchElementName(element, fieldElement, prefix);
            Class<?> fieldTypeElement = fieldElement.getType();
            String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
            boolean isDuration = false;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
                String jt = metadata.javaType();
                if ("java.time.Duration".equals(jt)) {
                    isDuration = true;
                } else {
                    fieldTypeName = jt;
                }
            }

            String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
            String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
            boolean required = element.required();
             
            required = findRequired(fieldElement, required);

             
             
            boolean asPredicate = fieldElement.getAnnotation(AsPredicate.class) != null;
            if (!asPredicate) {
                asPredicate = classElement.getAnnotation(AsPredicate.class) != null;
            }

             
            Set<String> enums = new TreeSet<>();
            boolean isEnum;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
                isEnum = true;
                String[] values = metadata.enums().split(",");
                for (String val : values) {
                    enums.add(val.trim());
                }
            } else {
                isEnum = fieldTypeElement.isEnum();
                if (isEnum) {
                    for (Object val : fieldTypeElement.getEnumConstants()) {
                        String str = val.toString();
                        enums.add(str);
                    }
                }
            }

            String kind = "element";
             
            Set<String> oneOfTypes = new TreeSet<>();
            boolean isOneOf = ONE_OF_TYPE_NAME.equals(fieldTypeName);
            if (isOneOf) {
                 
                 
                kind = "expression";
                oneOfTypes = getOneOfs(ONE_OF_LANGUAGES);
            }
             
            if ("otherwise".equals(name)) {
                oneOfTypes.add("otherwise");
            }

            boolean important = false;
            String displayName = null;
            if (metadata != null) {
                displayName = metadata.displayName();
                important = metadata.important();
            }
            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
            String deprecationNote = null;
            if (metadata != null) {
                deprecationNote = metadata.deprecationNote();
            }
            String label = null;
            if (metadata != null) {
                label = metadata.label();
            }

            EipOptionModel ep = createOption(name, displayName, kind, fieldTypeName, required, defaultValue, label,
                    docComment, deprecated, deprecationNote, isEnum, enums,
                    oneOfTypes, asPredicate, isDuration, important);
            eipOptions.add(ep);
        }
    }
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
Pair #2697 Negative (Non-Clone)
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2698 Negative (Non-Clone)
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
ID: 445_476
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        consumer.getAsyncProcessor().process(exchange, doneSync -> {
             
            try {
                if (consumer.getConfiguration().isSync()) {
                    sendResponse(ctx, exchange);
                }
            } catch (Exception e) {
                consumer.getExceptionHandler().handleException(e);
            } finally {
                consumer.doneUoW(exchange);
                consumer.releaseExchange(exchange, false);
            }
        });
    }
Pair #2699 Negative (Non-Clone)
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #2700 Negative (Non-Clone)
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 3334_2734
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer)
    public static <T> Supplier<T> memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            try {
                                supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                                valueHolder.lazySet(supplied);
                            } catch (Exception e) {
                                consumer.accept(e);
                            }
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #2701 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #2702 Negative (Non-Clone)
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
Pair #2703 Negative (Non-Clone)
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #2704 Negative (Non-Clone)
ID: 1860_1524
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildDataPath(String secretPath)
    private String buildDataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/data/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/data/" + secretPath;
            } else {
                return secretsEngine + "/data/" + secretPath;
            }
        }
    }
ID: 194_220
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponse(final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponse(
            final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectCompositeResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #2705 Negative (Non-Clone)
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 1973_1606
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.get(Exchange exchange)
    private void get(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, String> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        Collection.GetResult result = collection.get(ids, where, whereDocument);

        in.setBody(result);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #2706 Negative (Non-Clone)
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #2707 Negative (Non-Clone)
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
ID: 511_528
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterDestinationFactories(DestinationFactoryManager dfm)
    private void unregisterDestinationFactories(DestinationFactoryManager dfm) {
        for (String ns : getTransportIds()) {
            try {
                if (dfm.getDestinationFactory(ns) == this) {
                    dfm.deregisterDestinationFactory(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #2708 Negative (Non-Clone)
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #2709 Negative (Non-Clone)
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
Pair #2710 Negative (Non-Clone)
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #2711 Negative (Non-Clone)
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
Pair #2712 Negative (Non-Clone)
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #2713 Negative (Non-Clone)
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2714 Negative (Non-Clone)
ID: 1309_1167
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.eventReceived(Action action, Namespace resource)
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2715 Negative (Non-Clone)
ID: 2372_1867
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteTranscriptionJobRequest) {
                try {
                    transcribeClient.deleteTranscriptionJob((DeleteTranscriptionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteTranscriptionJobRequest.Builder builder = DeleteTranscriptionJobRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME))) {
                String jobName = exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME, String.class);
                builder.transcriptionJobName(jobName);
            }
            try {
                transcribeClient.deleteTranscriptionJob(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 3287_2684
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, Marker marker, String message)
    public static void log(Logger log, LoggingLevel level, Marker marker, String message) {
        switch (level) {
            case DEBUG:
                log.debug(marker, message);
                break;
            case ERROR:
                log.error(marker, message);
                break;
            case INFO:
                log.info(marker, message);
                break;
            case TRACE:
                log.trace(marker, message);
                break;
            case WARN:
                log.warn(marker, message);
                break;
            default:
        }
    }
Pair #2716 Negative (Non-Clone)
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #2717 Negative (Non-Clone)
ID: 174_137
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportDescription(String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback)
    public void getReportDescription(
            String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportsDescribeUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportDescription reportDescription = null;
                try {
                    reportDescription = unmarshalResponse(response, request, ReportDescription.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportDescription, headers, ex);
            }
        });
    }
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
Pair #2718 Negative (Non-Clone)
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #2719 Negative (Non-Clone)
ID: 2296_1817
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildAsyncClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkAsyncClientBuilder<B, C>, C extends SdkClient> C buildAsyncClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        NettyNioAsyncHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring async proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            software.amazon.awssdk.http.nio.netty.ProxyConfiguration proxyConfig
                    = software.amazon.awssdk.http.nio.netty.ProxyConfiguration.builder()
                            .scheme(config.getProxyProtocol().toString())
                            .host(config.getProxyHost())
                            .port(config.getProxyPort())
                            .build();
            httpClientBuilder = NettyNioAsyncHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = NettyNioAsyncHttpClient.builder();
            }
            SdkAsyncHttpClient asyncHttpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(asyncHttpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
Pair #2720 Negative (Non-Clone)
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #2721 Negative (Non-Clone)
ID: 1540_1358
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) {
        LOG.trace("toCamelMessage: {}", response);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(response.getHttpResponse(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(response.getInputStream());
        return answer;
    }
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
Pair #2722 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
Pair #2723 Negative (Non-Clone)
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #2724 Negative (Non-Clone)
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #2725 Negative (Non-Clone)
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
Pair #2726 Negative (Non-Clone)
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2727 Negative (Non-Clone)
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2728 Negative (Non-Clone)
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #2729 Negative (Non-Clone)
ID: 1994_1637
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = endpoint.createExchange(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
ID: 2470_2001
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getFrom(Row r)
    protected String getFrom(Row r) {
        String u = r.from;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2730 Negative (Non-Clone)
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
ID: 285_356
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toFloat(JsonNode node, Exchange exchange)
    public Float toFloat(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloat()) {
                return nn.floatValue();
            }
        }
        String text = node.asText();
        return Float.valueOf(text);
    }
Pair #2731 Negative (Non-Clone)
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2732 Negative (Non-Clone)
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 3170_2438
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsXml(Integer index, Boolean includeBody)
    public String browseMessageAsXml(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsXml(msg, includeBody);
    }
Pair #2733 Negative (Non-Clone)
ID: 302_361
ClassID: 302
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AzureServiceBusSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount.toString());
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber.toString());
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
Pair #2734 Negative (Non-Clone)
ID: 1322_1230
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doGet(Exchange exchange, String namespaceName)
    protected void doGet(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            throw new IllegalArgumentException("Get a specific custom resource require specify a custom resource name");
        }
        JsonObject customResourceJSON = new JsonObject();
        try {
            customResourceJSON = new JsonObject(
                    getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName)
                            .withName(customResourceName)
                            .require()
                            .get());

        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

        prepareOutboundMessage(exchange, customResourceJSON);
    }
ID: 3283_2677
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createXmlElementMaskPattern(Set<String> keywords)
    protected Pattern createXmlElementMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "(<([\\w]*(?:");
        regex.append(")[\\w]*)(?:[\\s]+.+)*?>[\\s]*?)(?:[\\S&&[^<]]+(?:\\s+[\\S&&[^<]]+)*?)([\\s]*?</\\2>)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("XML Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #2735 Negative (Non-Clone)
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
Pair #2736 Negative (Non-Clone)
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
ID: 2569_2150
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getDoc(JavaClassSource source, String name)
    private String getDoc(JavaClassSource source, String name) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
Pair #2737 Negative (Non-Clone)
ID: 1498_1341
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeJPEG(String flavor)
    public DocFlavor forMimeTypeJPEG(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.JPEG;
        }

        return d;
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #2738 Negative (Non-Clone)
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 1806_1472
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
    private void runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
            throws DockerException, InterruptedException {
         
        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {

            BuildImageResultCallback item = cmd.exec(new BuildImageResultCallback() {
                @Override
                public void onNext(BuildResponseItem item) {
                    super.onNext(item);

                    LOG.trace("build image callback {}", item);

                    exchange.getIn().setBody(item.getImageId());
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #2739 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #2740 Negative (Non-Clone)
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2741 Negative (Non-Clone)
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #2742 Negative (Non-Clone)
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
Pair #2743 Negative (Non-Clone)
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 412_446
ClassID: 412
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #2744 Negative (Non-Clone)
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #2745 Negative (Non-Clone)
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2746 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
Pair #2747 Negative (Non-Clone)
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #2748 Negative (Non-Clone)
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
Pair #2749 Negative (Non-Clone)
ID: 184_175
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "query/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
Pair #2750 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2751 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 3099_2370
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableNoContentResponse(boolean enableNoContentResponse)
    public RestDefinition enableNoContentResponse(boolean enableNoContentResponse) {
        if (getVerbs().isEmpty()) {
            this.enableNoContentResponse = Boolean.toString(enableNoContentResponse);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableNoContentResponse(Boolean.toString(enableNoContentResponse));
        }

        return this;
    }
Pair #2752 Negative (Non-Clone)
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #2753 Negative (Non-Clone)
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
ID: 53_69
ClassID: 53
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #2754 Negative (Non-Clone)
ID: 971_813
ClassID: 971
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        validate();
        JpaConsumer consumer = new JpaConsumer(this, processor);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        consumer.setTransacted(isTransacted());
        consumer.setSkipLockedEntity(isSkipLockedEntity());
        consumer.setDeleteHandler(getDeleteHandler());
        consumer.setPreDeleteHandler(getPreDeleteHandler());
        configureConsumer(consumer);
        return consumer;
    }
ID: 3160_2403
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.processExchange(Exchange exchange, String type)
    public void processExchange(Exchange exchange, String type) {
        if (counter1.isStatisticsEnabled()) {
            counter1.processExchange(exchange, type);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.processExchange(exchange, type);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.processExchange(exchange, type);
        }
    }
Pair #2755 Negative (Non-Clone)
ID: 1694_1421
ClassID: 1694
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/util/ReflectionUtils.java
Name: org.apache.camel.spring.util.ReflectionUtils.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (IllegalArgumentException ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        } catch (IllegalAccessException ex) {
            handleReflectionException(ex);
        }
    }
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #2756 Negative (Non-Clone)
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
Pair #2757 Negative (Non-Clone)
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3333_2732
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsFunction(ThrowingFunction<I, R, T> function)
    public static <I, R, T extends Throwable> Function<I, R> wrapAsFunction(ThrowingFunction<I, R, T> function) {
        return new Function<>() {
            @Override
            public R apply(I in) {
                try {
                    return function.apply(in);

                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #2758 Negative (Non-Clone)
ID: 243_311
ClassID: 243
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 3167_2430
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
Pair #2759 Negative (Non-Clone)
ID: 3244_2575
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertHeaderReifier.java
Name: org.apache.camel.reifier.ConvertHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertHeaderProcessor answer
                = new ConvertHeaderProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1248_1081
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createOutHeaderFunction()
    private XPathFunction createOutHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (exchange.get() != null && !list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getOut().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
Pair #2760 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
Pair #2761 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #2762 Negative (Non-Clone)
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
Pair #2763 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2764 Negative (Non-Clone)
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
Pair #2765 Negative (Non-Clone)
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
Pair #2766 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
Pair #2767 Negative (Non-Clone)
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
ID: 3208_2475
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<JsonObject> list = new ArrayList<>();
        root.put("services", list);

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            JsonObject jo = new JsonObject();
            jo.put("component", es.getComponent());
            jo.put("direction", es.getDirection());
            jo.put("hosted", es.isHostedService());
            jo.put("protocol", es.getServiceProtocol());
            jo.put("serviceUrl", es.getServiceUrl());
            jo.put("endpointUri", es.getEndpointUri());
            if (es.getRouteId() != null) {
                jo.put("routeId", es.getRouteId());
            }
            jo.put("hits", es.getHits());
            var map = es.getServiceMetadata();
            if (map != null) {
                jo.put("metadata", map);
            }
            list.add(jo);
        }

        return root;
    }
Pair #2768 Negative (Non-Clone)
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
Pair #2769 Negative (Non-Clone)
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #2770 Negative (Non-Clone)
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
Pair #2771 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2656_2323
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/MandatorySagaProcessor.java
Name: org.apache.camel.processor.saga.MandatorySagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator == null) {
                exchange.setException(new CamelExchangeException("Exchange is not part of a saga", exchange));
                callback.done(false);
            } else {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            }
        }));
        return false;
    }
Pair #2772 Negative (Non-Clone)
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
Pair #2773 Negative (Non-Clone)
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
Pair #2774 Negative (Non-Clone)
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2775 Negative (Non-Clone)
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2776 Negative (Non-Clone)
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #2777 Negative (Non-Clone)
ID: 3218_2499
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn(
                        "Ignoring bad converter on type: {} method: {} as a converter method is not a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    Class<?> fromType = method.getParameterTypes()[0];
                    if (isStatic(modifiers)) {
                        registerTypeConverter(registry, method, toType, fromType,
                                new StaticMethodTypeConverter(method, allowNull));
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerTypeConverter(registry, method, toType, fromType,
                                new InstanceMethodTypeConverter(injector, method, registry, allowNull));
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method should have one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
ID: 557_537
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Statement stmt)
    private void closeQuietly(Statement stmt) {
        if (stmt != null) {
            try {
                if (!stmt.isClosed()) {
                    stmt.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing statement", sqle);
            }
        }
    }
Pair #2778 Negative (Non-Clone)
ID: 2480_2031
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.nodePrefixId = o.getString("nodePrefixId");
                            row.processor = o.getString("from");
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                row.total = stats.get("exchangesTotal").toString();
                                Object num = stats.get("remoteExchangesTotal");
                                if (num != null) {
                                    row.totalRemote = num.toString();
                                }
                                row.inflight = stats.get("exchangesInflight").toString();
                                num = stats.get("remoteExchangesInflight");
                                if (num != null) {
                                    row.inflightRemote = num.toString();
                                }
                                row.failed = stats.get("exchangesFailed").toString();
                                num = stats.get("remoteExchangesFailed");
                                if (num != null) {
                                    row.failedRemote = num.toString();
                                }
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add) {
                                rows.add(row);
                                List<JsonObject> list = o.getCollection("processors");
                                if (list != null) {
                                    addProcessors(row, rows, list);
                                }
                            }
                        }
                    }
                });

         
        if (running || filter != null || group != null) {
            rows.removeIf(r -> {
                boolean keep = true;
                if (filter != null) {
                    keep = PatternHelper.matchPatterns(r.processorId, filter);
                }
                if (!keep && filter != null) {
                    for (String f : filter) {
                        if (!keep) {
                            String w = f.endsWith("*") ? f : f + "*";  
                            keep = PatternHelper.matchPattern(r.processor, w);
                        }
                    }
                }
                 
                if (keep && group != null) {
                    keep = PatternHelper.matchPatterns(r.group, group);
                }
                if (keep && running) {
                    keep = "Started".equals(r.state);
                }
                return !keep;
            });
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #2779 Negative (Non-Clone)
ID: 2093_1685
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset)
    private RemoteFile<SftpRemoteFile> asRemoteFile(
            String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset) {
        RemoteFile<SftpRemoteFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getFilename());
        answer.setFileLength(file.getFileLength());
        answer.setLastModified(file.getLastModified());
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());
        answer.setDirectory(file.isDirectory());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #2780 Negative (Non-Clone)
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2781 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
Pair #2782 Negative (Non-Clone)
ID: 1861_1528
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 1252_1089
ClassID: 1252
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected JtaTransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor,
            ErrorHandlerFactory builder) {
        JtaTransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
Pair #2783 Negative (Non-Clone)
ID: 2516_2075
ClassID: 2516
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsoleHelper.java
Name: org.apache.camel.impl.console.ConsoleHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt > 0) {
            int pos = location.lastIndexOf(':');
             
            if (pos < location.length() - 1) {
                String num = location.substring(pos + 1);
                try {
                    return Integer.valueOf(num);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #2784 Negative (Non-Clone)
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #2785 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #2786 Negative (Non-Clone)
ID: 437_452
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureClientSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Client SSL handler configured and added to the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> decoders = producer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        List<ChannelHandler> encoders = producer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

         
        if (producer.getConfiguration().getRequestTimeout() > 0) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Using request timeout {} millis", producer.getConfiguration().getRequestTimeout());
            }
            ChannelHandler timeout
                    = new ReadTimeoutHandler(producer.getConfiguration().getRequestTimeout(), TimeUnit.MILLISECONDS);
            addToPipeline("timeout", channelPipeline, timeout);
        }

         
        addToPipeline("handler", channelPipeline, new ClientChannelHandler(producer));

        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #2787 Negative (Non-Clone)
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #2788 Negative (Non-Clone)
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #2789 Negative (Non-Clone)
ID: 2363_1859
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode text = firstOutput.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2790 Negative (Non-Clone)
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
Pair #2791 Negative (Non-Clone)
ID: 697_637
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsertList(Exchange exchange, SqlSession session)
    private void doInsertList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Inserting: {} using statement: {}", in, statement);
            result = session.insert(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #2792 Negative (Non-Clone)
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #2793 Negative (Non-Clone)
ID: 2268_1786
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaPollingConsumer.java
Name: org.apache.camel.component.jpa.JpaPollingConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Map.Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #2794 Negative (Non-Clone)
ID: 2600_2218
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
        boolean isFirstElement = true;
        final Iterator<Object> elements = this.iterator();
        writable.write('[');
        while (elements.hasNext()) {
            if (isFirstElement) {
                isFirstElement = false;
            } else {
                writable.write(',');
            }
            Jsoner.serialize(elements.next(), writable);
        }
        writable.write(']');
    }
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
Pair #2795 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #2796 Negative (Non-Clone)
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2797 Negative (Non-Clone)
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
Pair #2798 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #2799 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
Pair #2800 Negative (Non-Clone)
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #2801 Negative (Non-Clone)
ID: 2522_2082
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Activemq6ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.Activemq6ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #2802 Negative (Non-Clone)
ID: 1035_888
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addExactPath(final String path, final HttpHandler handler)
    public PathHandler addExactPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addExactPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
Pair #2803 Negative (Non-Clone)
ID: 196_225
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        Message inboundMessage = exchange.getIn();
        Map<String, Object> outboundHeaders = out.getHeaders();
        outboundHeaders.putAll(inboundMessage.getHeaders());
        outboundHeaders.putAll(headers);

         
        callback.done(false);
    }
ID: 1254_1096
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveLogger(DeadLetterChannelDefinition definition)
    private CamelLogger resolveLogger(DeadLetterChannelDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #2804 Negative (Non-Clone)
ID: 3291_2693
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        if (trustManager != null) {
            builder.append("TrustManagerType[trustManager=");
            builder.append(trustManager);
            builder.append("]");
        } else {
            builder.append("TrustManagerType[keyStore=");
            builder.append(keyStore);
            builder.append(", provider=");
            builder.append(provider);
            builder.append(", algorithm=");
            builder.append(algorithm);
            builder.append("]");
        }
        return builder.toString();
    }
ID: 1492_1331
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final String node)
    public static String nodeValue(final String namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2805 Negative (Non-Clone)
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
Pair #2806 Negative (Non-Clone)
ID: 2386_1884
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onMode(String channel, IRCUser user, IRCModeParser modeParser)
        public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
            if (configuration.isOnMode()) {
                Exchange exchange = createOnModeExchange(channel, user, modeParser);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2639_2280
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue)
    protected Processor createBodyAndHeaderProcessor(final Object body, final String header, final Object headerValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                Message in = exchange.getIn();
                in.setHeader(header, headerValue);
                in.setBody(body);
            }
        };
    }
Pair #2807 Negative (Non-Clone)
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2808 Negative (Non-Clone)
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
Pair #2809 Negative (Non-Clone)
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 1422_1266
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.run()
        public void run() {
             
            LOG.info("Listening on port {}", serversocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {

                     
                    final Socket inSocket = serversocket.accept();

                     
                    final Thread t = new RequestHandlerThread(this.service.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
Pair #2810 Negative (Non-Clone)
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #2811 Negative (Non-Clone)
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
Pair #2812 Negative (Non-Clone)
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #2813 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2814 Negative (Non-Clone)
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
Pair #2815 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 174_135
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback)
    public void getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback) {
        final Request request = getRequest(HttpMethod.GET, reportsUrl(), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
        });
    }
Pair #2816 Negative (Non-Clone)
ID: 1958_1597
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.query(Exchange exchange)
    private void query(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVector(topK, elements, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #2817 Negative (Non-Clone)
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #2818 Negative (Non-Clone)
ID: 2386_1884
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onMode(String channel, IRCUser user, IRCModeParser modeParser)
        public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
            if (configuration.isOnMode()) {
                Exchange exchange = createOnModeExchange(channel, user, modeParser);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3105_2386
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.setInstance(Object instance)
    public void setInstance(Object instance) {
         
        if (instance instanceof Class) {
            this.beanType = (Class<?>) instance;
            this.instance = null;
        } else {
            this.beanType = null;
            this.instance = instance;
        }
    }
Pair #2819 Negative (Non-Clone)
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
ID: 1240_1065
ClassID: 1240
File: systems/camel-java/components/camel-http-common/src/generated/java/org/apache/camel/http/common/HttpConverterLoader.java
Name: org.apache.camel.http.common.HttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, jakarta.servlet.ServletInputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletInputStream((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletRequest.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletRequest((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletResponse.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletResponse((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.BufferedReader.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toReader((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.servlet.http.HttpServletRequest.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((jakarta.servlet.http.HttpServletRequest) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((org.apache.camel.http.common.HttpMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2820 Negative (Non-Clone)
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 1423_1269
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.close()
    public void close() {
        if (listenerThread != null) {
            lock.lock();
            try {
                try {
                    listenerThread.serverSocket.close();
                } catch (IOException e) {
                    LOG.info(e.getMessage(), e);
                } finally {
                    listenerThread = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2821 Negative (Non-Clone)
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
ID: 2515_2073
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationId(String location)
    public static String extractSourceLocationId(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2822 Negative (Non-Clone)
ID: 1871_1540
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
Pair #2823 Negative (Non-Clone)
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2824 Negative (Non-Clone)
ID: 3266_2631
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(K key, V value)
    public V putIfAbsent(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        if (v != null) {
                            return v;
                        }
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
Pair #2825 Negative (Non-Clone)
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #2826 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2827 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2828 Negative (Non-Clone)
ID: 1573_1387
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrResponseConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrResponseConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.Map.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponseMap(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.SolrResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.QueryResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createQueryResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.SolrPingResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrPingResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 656_578
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToListOptions(Message message)
    private ContainerListOptions messageToListOptions(Message message) {
        ContainerListOptions options = message.getBody(ContainerListOptions.class);
        if (options == null) {
            Map headers = message.getHeaders();

            if (headers.containsKey(SwiftConstants.LIMIT)) {
                options = getListOptions(options).limit(message.getHeader(SwiftConstants.LIMIT, Integer.class));
            }

            if (headers.containsKey(SwiftConstants.MARKER)) {
                options = getListOptions(options).marker(message.getHeader(SwiftConstants.MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.END_MARKER)) {
                options = getListOptions(options).endMarker(message.getHeader(SwiftConstants.END_MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.DELIMITER)) {
                options = getListOptions(options).delimiter(message.getHeader(SwiftConstants.DELIMITER, Character.class));
            }

            if (headers.containsKey(SwiftConstants.PATH)) {
                options = getListOptions(options).path(message.getHeader(SwiftConstants.PATH, String.class));
            }
        }
        return options;
    }
Pair #2829 Negative (Non-Clone)
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
ID: 1282_1124
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateDocument()
    private Function<Exchange, Object> updateDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_UPDATE, false, Boolean.class);

                 
                if (isMultiUpdate) {
                    Collection<Object> documents = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.updateDocuments(documents);
                }

                 
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object document = exchange.getMessage().getMandatoryBody();
                return collection.updateDocument(key, document);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2830 Negative (Non-Clone)
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #2831 Negative (Non-Clone)
ID: 2176_1709
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration)
    private void configureAuthentication(
            ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #2832 Negative (Non-Clone)
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
ID: 2382_1874
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
Name: org.apache.camel.model.ThrowExceptionDefinition.description()
    protected String description() {
        if (exception != null) {
            return exception.getClass().getCanonicalName();
        } else if (ref != null) {
            return "ref:" + ref;
        } else {
            return "";
        }
    }
Pair #2833 Negative (Non-Clone)
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2834 Negative (Non-Clone)
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #2835 Negative (Non-Clone)
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2836 Negative (Non-Clone)
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2837 Negative (Non-Clone)
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #2838 Negative (Non-Clone)
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
Pair #2839 Negative (Non-Clone)
ID: 1309_1167
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.eventReceived(Action action, Namespace resource)
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
Pair #2840 Negative (Non-Clone)
ID: 2581_2178
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.doLoadJavaSource(String className)
    private String doLoadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

             
            if (file == null && className.startsWith("org.apache.camel.support.")) {
                return null;
            }

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #2841 Negative (Non-Clone)
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #2842 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2843 Negative (Non-Clone)
ID: 303_362
ClassID: 303
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/HttpMethodHelper.java
Name: org.apache.camel.tracing.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #2844 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #2845 Negative (Non-Clone)
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
ID: 1784_1465
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (socketConnectors != null) {
            answer = socketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
Pair #2846 Negative (Non-Clone)
ID: 2656_2325
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/SupportsSagaProcessor.java
Name: org.apache.camel.processor.saga.SupportsSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                             
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 2640_2284
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariables(Map<String, Object> variables)
    public FluentProducerTemplate withVariables(Map<String, Object> variables) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariables and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.putAll(variables);
        return clone;
    }
Pair #2847 Negative (Non-Clone)
ID: 765_682
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.determineOperation(Exchange exchange)
    private WatsonDiscoveryOperations determineOperation(Exchange exchange) {
        WatsonDiscoveryOperations operation
                = exchange.getIn().getHeader(WatsonDiscoveryConstants.OPERATION, WatsonDiscoveryOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #2848 Negative (Non-Clone)
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #2849 Negative (Non-Clone)
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
Pair #2850 Negative (Non-Clone)
ID: 2521_2076
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyComponent) component).setClientMode((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyComponent) component).setNativeTransport((boolean) value); return true;
            case "options": getOrCreateConfiguration((NettyComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #2851 Negative (Non-Clone)
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
Pair #2852 Negative (Non-Clone)
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
Pair #2853 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
Pair #2854 Negative (Non-Clone)
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 1888_1559
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
Pair #2855 Negative (Non-Clone)
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
Pair #2856 Negative (Non-Clone)
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
Pair #2857 Negative (Non-Clone)
ID: 498_525
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsClientFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsClientFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name) || "headers".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "providers".equals(name)
                || "schemaLocations".equals(name) || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
Pair #2858 Negative (Non-Clone)
ID: 342_396
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newBuilder() {
        final Properties producerProperties = KafkaResumeStrategyConfigurationBuilder.createProducerProperties();
        final Properties consumerProperties = KafkaResumeStrategyConfigurationBuilder.createConsumerProperties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);
        builder.withCacheFillPolicy(Cacheable.FillPolicy.MAXIMIZING);

        return builder;
    }
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
Pair #2859 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 3174_2446
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors)
    public String dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> processors = new ArrayList<>();
            if (includeProcessors) {
                 
                query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName on : names) {
                    ManagedProcessorMBean processor = context.getManagementStrategy().getManagementAgent().newProxyClient(on,
                            ManagedProcessorMBean.class);
                    processors.add(processor);
                }
            }
            processors.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                if (includeProcessors) {
                    sb.append("      <processorStats>\n");
                    for (ManagedProcessorMBean processor : processors) {
                        int line = processor.getSourceLineNumber() != null ? processor.getSourceLineNumber() : -1;
                         
                        if (route.getRouteId().equals(processor.getRouteId())) {
                            sb.append("        <processorStat")
                                    .append(String.format(
                                            " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                            processor.getProcessorId(), processor.getIndex(), processor.getState(),
                                            processor.getDisabled(), line));
                             
                            stat = processor.dumpStatsAsXml(fullStats);
                            sb.append(" exchangesInflight=\"").append(processor.getExchangesInflight()).append("\"");
                            sb.append(" ").append(stat, 7, stat.length()).append("\n");
                        }
                    }
                    sb.append("      </processorStats>\n");
                }
                sb.append("    </routeStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
Pair #2860 Negative (Non-Clone)
ID: 921_792
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsub.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #2861 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
Pair #2862 Negative (Non-Clone)
ID: 1307_1152
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        LOG.debug("Stopping Kubernetes Services Consumer");
        if (executor != null) {
            KubernetesHelper.close(servicesWatcher, servicesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2863 Negative (Non-Clone)
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #2864 Negative (Non-Clone)
ID: 2231_1752
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateTag(String operation)
    protected void doCreateTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tag().setName(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #2865 Negative (Non-Clone)
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
Pair #2866 Negative (Non-Clone)
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 893_749
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusEndpoint.java
Name: org.apache.camel.component.milvus.MilvusEndpoint.getClient()
    public MilvusClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
Pair #2867 Negative (Non-Clone)
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #2868 Negative (Non-Clone)
ID: 2521_2076
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyComponent) component).setClientMode((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyComponent) component).setNativeTransport((boolean) value); return true;
            case "options": getOrCreateConfiguration((NettyComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
Pair #2869 Negative (Non-Clone)
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #2870 Negative (Non-Clone)
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
ID: 440_461
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setOut(Exchange exchange, Object payload)
    public static void setOut(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getOut().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getOut().setHeaders(exchange.getIn().getHeaders());
            exchange.getOut().setBody(payload);
        }
    }
Pair #2871 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #2872 Negative (Non-Clone)
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
ID: 2660_2336
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollDynamicAwareResolver.java
Name: org.apache.camel.processor.PollDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public PollDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PollDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (PollDynamicAware.class.isAssignableFrom(type)) {
                PollDynamicAware answer = (PollDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PollDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #2873 Negative (Non-Clone)
ID: 220_252
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/transform/Ddb2StreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.ddbstream.transform.Ddb2StreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.ddbstream.getRecords");

        if (message.getHeaders().containsKey(Ddb2StreamConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.ddbstream." + message.getHeader(Ddb2StreamConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Ddb2StreamConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #2874 Negative (Non-Clone)
ID: 2637_2273
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBodyNoWait(String endpointUri, Class<T> type)
    public <T> T receiveBodyNoWait(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receiveNoWait(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 744_673
ClassID: 744
File: systems/camel-java/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/consumer/AbstractWordpressConsumer.java
Name: org.apache.camel.component.wordpress.consumer.AbstractWordpressConsumer.process(final Object result)
    protected final void process(final Object result) {
        Exchange exchange = createExchange(false);
        try {
            exchange.getIn().setBody(result);
            getProcessor().process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
        }
        releaseExchange(exchange, false);
    }
Pair #2875 Negative (Non-Clone)
ID: 1852_1505
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPrivateKeyToPEM(privateKey);
            case DER:
            case PKCS8:
                return privateKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for private key: " + format);
        }
    }
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
Pair #2876 Negative (Non-Clone)
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #2877 Negative (Non-Clone)
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #2878 Negative (Non-Clone)
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #2879 Negative (Non-Clone)
ID: 3278_2665
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotEqualTo(final Expression left, final Expression right)
    public static Predicate isNotEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "!=";
            }
        };
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #2880 Negative (Non-Clone)
ID: 1485_1323
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/SharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.SharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #2881 Negative (Non-Clone)
ID: 1036_890
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.remove(final String uriTemplate)
    public CamelPathTemplateHandler remove(final String uriTemplate) {
        lock.lock();
        try {
            delegate.remove(uriTemplate);
            handlers.remove(uriTemplate);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #2882 Negative (Non-Clone)
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
Pair #2883 Negative (Non-Clone)
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2884 Negative (Non-Clone)
ID: 2541_2118
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findXmlFiles(File dir, Set<File> xmlFiles)
    public static void findXmlFiles(File dir, Set<File> xmlFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".xml")) {
                    xmlFiles.add(file);
                } else if (file.isDirectory()) {
                    findXmlFiles(file, xmlFiles);
                }
            }
        }
    }
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #2885 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #2886 Negative (Non-Clone)
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
Pair #2887 Negative (Non-Clone)
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
Pair #2888 Negative (Non-Clone)
ID: 2558_2129
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelSimpleExpressionDetails> simpleExpressions)
    public static void parseXmlRouteSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelSimpleExpressionDetails> simpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "simple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelSimpleExpressionDetails detail = new CamelSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setSimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                simpleExpressions.add(detail);
            }
        }
    }
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2889 Negative (Non-Clone)
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #2890 Negative (Non-Clone)
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 3310_2724
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getMainJsonSchema()
    public String getMainJsonSchema() {
        String path = "META-INF/camel-main-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #2891 Negative (Non-Clone)
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #2892 Negative (Non-Clone)
ID: 980_835
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/ParseException.java
Name: org.apache.camel.component.sql.stored.template.generated.ParseException.add_escapes(String str)
  static String add_escapes(String str) {
      StringBuilder retval = new StringBuilder();
      char ch;
      for (int i = 0; i < str.length(); i++) {
        switch (str.charAt(i))
        {
           case '\b':
              retval.append("\\b");
              continue;
           case '\t':
              retval.append("\\t");
              continue;
           case '\n':
              retval.append("\\n");
              continue;
           case '\f':
              retval.append("\\f");
              continue;
           case '\r':
              retval.append("\\r");
              continue;
           case '\"':
              retval.append("\\\"");
              continue;
           case '\'':
              retval.append("\\\'");
              continue;
           case '\\':
              retval.append("\\\\");
              continue;
           default:
              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                 String s = "0000" + Integer.toString(ch, 16);
                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
              } else {
                 retval.append(ch);
              }
              continue;
        }
      }
      return retval.toString();
   }
ID: 2612_2253
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateLanguageModel(JsonObject obj)
    public static LanguageModel generateLanguageModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("language");
        LanguageModel model = new LanguageModel();
        parseModel(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            LanguageOptionModel option = new LanguageOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        JsonObject mprf = (JsonObject) obj.get("functions");
        if (mprf != null) {
            for (Map.Entry<String, Object> entry : mprf.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                LanguageModel.LanguageFunctionModel func = new LanguageModel.LanguageFunctionModel();
                parseFunction(mp, func, entry.getKey());
                model.addFunction(func);
            }
        }
        return model;
    }
Pair #2893 Negative (Non-Clone)
ID: 2472_2009
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListBlocked.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListBlocked.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("blocked");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.routeId = jo.getString("routeId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.routeId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 682_615
ClassID: 682
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                LongTaskTimer.Builder builder = LongTaskTimer.builder(namingStrategy.getLongTaskName(route))
                        .tags(route != null ? namingStrategy.getTags(route) : namingStrategy.getTags(camelContext))
                        .description(route != null ? "Route long task metric" : "CamelContext long task metric");
                if (configuration.getLongTaskInitiator() != null) {
                    configuration.getLongTaskInitiator().accept(builder);
                }
                longTaskTimer = builder.register(meterRegistry);
            }
        }
Pair #2894 Negative (Non-Clone)
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 998_850
ClassID: 998
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo4Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo4Configuration endpointConfiguration = createEndpointConfiguration(Olingo4ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo4ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #2895 Negative (Non-Clone)
ID: 1860_1524
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildDataPath(String secretPath)
    private String buildDataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/data/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/data/" + secretPath;
            } else {
                return secretsEngine + "/data/" + secretPath;
            }
        }
    }
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #2896 Negative (Non-Clone)
ID: 3296_2704
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.stop()
    public void stop() {
        lock.lock();
        try {
            if (status == FAILED) {
                logger().trace("Service: {} failed and regarded as already stopped", this);
                return;
            }
            if (status == STOPPED || status == SHUTTING_DOWN || status == SHUTDOWN) {
                logger().trace("Service: {} already stopped", this);
                return;
            }
            if (status == STOPPING) {
                logger().trace("Service: {} already stopping", this);
                return;
            }
            status = STOPPING;
            logger().trace("Stopping service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doStop();
                status = STOPPED;
                logger().trace("Stopped: {} service", this);
            } catch (Exception e) {
                logger().trace("Error while stopping service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3278_2660
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isLessThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) <= 0;
            }

            protected String getOperationText() {
                return "<=";
            }
        };
    }
Pair #2897 Negative (Non-Clone)
ID: 3105_2386
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.setInstance(Object instance)
    public void setInstance(Object instance) {
         
        if (instance instanceof Class) {
            this.beanType = (Class<?>) instance;
            this.instance = null;
        } else {
            this.beanType = null;
            this.instance = instance;
        }
    }
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #2898 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
Pair #2899 Negative (Non-Clone)
ID: 2529_2101
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderDataFormatResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("dataformat:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(11));
            }
        }
        return !stubbed;
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #2900 Negative (Non-Clone)
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
ID: 3278_2660
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isLessThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) <= 0;
            }

            protected String getOperationText() {
                return "<=";
            }
        };
    }
Pair #2901 Negative (Non-Clone)
ID: 1184_1006
ClassID: 1184
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        if (usingIterator) {
            ZipIterator zipIterator = new ZipIterator(exchange, inputStream);
            zipIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return zipIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(inputStream);
            ZipArchiveInputStream zis = new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.ZIP, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                ZipArchiveEntry entry = zis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(zis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
                }

                entry = zis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Zip file has more than 1 entry.");
                }

                return osb.build();
            } finally {
                IOHelper.close(osb, zis, bis);
            }
        }
    }
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
Pair #2902 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2903 Negative (Non-Clone)
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 3297_2709
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheckRepository(CamelContext context, String id)
    public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
        HealthCheckRepository answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheckRepository> repo = hcr.getRepository(id);
            if (repo.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheckRepository hr = resolver.resolveHealthCheckRepository(id);
                if (hr != null) {
                    repo = Optional.of(hr);
                    hcr.register(hr);
                }
            }
            if (repo.isPresent()) {
                answer = repo.get();
            }
        }
        return answer;
    }
Pair #2904 Negative (Non-Clone)
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
Pair #2905 Negative (Non-Clone)
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
Pair #2906 Negative (Non-Clone)
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
Pair #2907 Negative (Non-Clone)
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
Pair #2908 Negative (Non-Clone)
ID: 379_417
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.JmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #2909 Negative (Non-Clone)
ID: 1318_1223
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                root.put("masterUrl", client.getMasterUrl().toString());
                root.put("login", "OAuth Token");
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (secretsRefreshTask != null) {
            Instant start = secretsRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("secrets", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
Pair #2910 Negative (Non-Clone)
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 454_485
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.createFolderSharedLink(String folderId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFolderSharedLink(
            String folderId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for folder(id={}) with access={} {}",
                    folderId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(access, BoxHelper.ACCESS);

            BoxFolder folder = new BoxFolder(boxConnection, folderId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return folder.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #2911 Negative (Non-Clone)
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #2912 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
Pair #2913 Negative (Non-Clone)
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
ID: 768_700
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getModel(Exchange exchange)
    private void getModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelName = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelName == null) {
            modelName = exchange.getIn().getBody(String.class);
        }

        if (modelName == null || modelName.isBlank()) {
            throw new IllegalArgumentException("Model name must be specified");
        }

        LOG.trace("Getting model information for: {}", modelName);

        GetModelOptions options = new GetModelOptions.Builder()
                .modelId(modelName)
                .build();

        SpeechModel model = stt.getModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(model);
    }
Pair #2914 Negative (Non-Clone)
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #2915 Negative (Non-Clone)
ID: 1253_1093
ClassID: 1253
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
        String uri = parseString(definition.getDeadLetterUri());
        ObjectHelper.notNull(uri, "deadLetterUri", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);

        Processor deadLetterProcessor = createDeadLetterChannelProcessor(uri);

        DeadLetterChannel answer = new DeadLetterChannel(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy, deadLetterProcessor, uri,
                parseBoolean(definition.getDeadLetterHandleNewException(), true),
                parseBoolean(definition.getUseOriginalMessage(), false),
                parseBoolean(definition.getUseOriginalBody(), false),
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                getProcessor(definition.getOnPrepareFailureProcessor(), definition.getOnPrepareFailureRef()),
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #2916 Negative (Non-Clone)
ID: 2577_2167
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeComponent()
    private void executeComponent() throws MojoExecutionException {
         
        final String kind = "component";
        List<String> componentNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!componentNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + componentNames.size() + " components");
            }

            for (String componentName : componentNames) {
                String json = loadJsonFrom(jsonFiles, kind, componentName);
                if (json != null) {
                     
                    componentName = asComponentName(componentName);

                    File file = new File(componentDocDir, componentName + "-" + kind + ".adoc");
                    boolean exists = file.exists();

                    ComponentModel model = generateComponentModel(json);
                    String title = asComponentTitle(model.getScheme(), model.getTitle());
                    model.setTitle(title);

                    boolean updated = updateHeader(componentName, file, model, " Component");

                    checkComponentHeader(file);
                    checkSince(file);

                    String options = evaluateTemplate("component-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No component doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 2640_2287
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariable(String key, Object value)
    public FluentProducerTemplate withVariable(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariable and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #2917 Negative (Non-Clone)
ID: 1185_1008
ClassID: 1185
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength)
    private void createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = fileLength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            ZipArchiveEntry entry = new ZipArchiveEntry(sb + element);
            entry.setSize(length);
            zos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
Pair #2918 Negative (Non-Clone)
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 1137_971
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        Registry registry = getEndpoint().getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }

        initService(commitService);
    }
Pair #2919 Negative (Non-Clone)
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
Pair #2920 Negative (Non-Clone)
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 640_572
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Put.java
Name: org.apache.camel.component.dhis2.api.Dhis2Put.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PutOperation putOperation = dhis2Client.put(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        putOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    putOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            putOperation.withResource(resource);
        }

        return putOperation.transfer().read();
    }
Pair #2921 Negative (Non-Clone)
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #2922 Negative (Non-Clone)
ID: 18_23
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulAgentProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulAgentProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulAgentProducer target = (org.apache.camel.component.consul.endpoint.ConsulAgentProducer) obj;
        switch (key) {
        case "agent":
        case "AGENT": return target.invokeAgent(exchange.getMessage());
        case "checks":
        case "CHECKS": return target.invokeChecks(exchange.getMessage());
        case "deregister":
        case "DEREGISTER": target.invokeDeregister(exchange.getMessage()); return null;
        case "members":
        case "MEMBERS": return target.invokeMembers(exchange.getMessage());
        case "register":
        case "REGISTER": target.invokeRegister(exchange.getMessage()); return null;
        case "services":
        case "SERVICES": return target.invokeServices(exchange.getMessage());
        default: return null;
        }
    }
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #2923 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #2924 Negative (Non-Clone)
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
Pair #2925 Negative (Non-Clone)
ID: 350_404
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureProxyAuthorizationPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureProxyAuthorizationPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        ProxyAuthorizationPolicy proxyPolicy = configuration.getProxyAuthorizationPolicy();
        if (proxyPolicy == null) {
            String username = configuration.getProxyUserName();
            String password = configuration.getProxyPassword();

            if (username != null && password != null) {
                proxyPolicy = new ProxyAuthorizationPolicy();
                proxyPolicy.setAuthorizationType("Basic");
                proxyPolicy.setUserName(username);
                proxyPolicy.setPassword(password);
            }
        }

        if (proxyPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setProxyAuthorization(proxyPolicy);
        }
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #2926 Negative (Non-Clone)
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #2927 Negative (Non-Clone)
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #2928 Negative (Non-Clone)
ID: 3223_2511
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);
        final Expression rightExp = right.createExpression(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return createAndExpression(leftExp, rightExp);
        } else if (operator == LogicalOperatorType.OR) {
            return createOrExpression(leftExp, rightExp);
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 1005_864
ClassID: 1005
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.parseQueryParams(Map<String, Object> options)
    private void parseQueryParams(Map<String, Object> options) {
         
        final Map<String, String> queryParams = new HashMap<>();
        for (Iterator<Map.Entry<String, Object>> it = options.entrySet().iterator(); it.hasNext();) {

            final Map.Entry<String, Object> entry = it.next();
            final String paramName = entry.getKey();

             
            if (paramName.startsWith("consumer.")) {
                continue;
            }

            if (!olingo4endpointPropertyNames.contains(paramName)) {

                 
                final Object value = entry.getValue();
                if (value == null) {
                    throw new IllegalArgumentException("Null value for query parameter " + paramName);
                }
                queryParams.put(paramName, value.toString());

                 
                it.remove();
            }
        }
        if (!queryParams.isEmpty()) {

            @SuppressWarnings("unchecked")
            final Map<String, String> oldParams = (Map<String, String>) options.get(QUERY_PARAMS_PROPERTY);
            if (oldParams == null) {
                 
                options.put(QUERY_PARAMS_PROPERTY, queryParams);
            } else {
                 
                oldParams.putAll(queryParams);
            }

        }
    }
Pair #2929 Negative (Non-Clone)
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
Pair #2930 Negative (Non-Clone)
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #2931 Negative (Non-Clone)
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #2932 Negative (Non-Clone)
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
ID: 2047_1662
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileChangedExclusiveReadLockStrategy readLockStrategy = new FileChangedExclusiveReadLockStrategy();
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #2933 Negative (Non-Clone)
ID: 1422_1266
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.run()
        public void run() {
             
            LOG.info("Listening on port {}", serversocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {

                     
                    final Socket inSocket = serversocket.accept();

                     
                    final Thread t = new RequestHandlerThread(this.service.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2934 Negative (Non-Clone)
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
ID: 558_540
ClassID: 558
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Name: org.apache.camel.management.DefaultManagementAgent.unregister(ObjectName name)
    public void unregister(ObjectName name) throws JMException {
        if (isRegistered(name)) {
            ObjectName on = mbeansRegistered.remove(name);
            server.unregisterMBean(on);
            LOG.debug("Unregistered MBean with ObjectName: {}", name);
        } else {
            mbeansRegistered.remove(name);
        }
    }
Pair #2935 Negative (Non-Clone)
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2936 Negative (Non-Clone)
ID: 2668_2353
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 1788_1469
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
Pair #2937 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1086_927
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleEnd()
    private void handleEnd() {
        Handler<Void> endHandler;
        lock.lock();
        try {
            dataHandler = null;
            endHandler = this.endHandler;
        } finally {
            lock.unlock();
        }
        if (endHandler != null) {
            checkContext();
            endHandler.handle(null);
        }
    }
Pair #2938 Negative (Non-Clone)
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
ID: 2049_1666
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #2939 Negative (Non-Clone)
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
ID: 1331_1234
ClassID: 1331
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java
Name: org.apache.camel.component.grpc.GrpcConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (this.isRunAllowed()) {
            this.getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #2940 Negative (Non-Clone)
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #2941 Negative (Non-Clone)
ID: 1251_1087
ClassID: 1251
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        JtaTransactionErrorHandler answer;
         
         
         
         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        JtaTransactionErrorHandlerDefinition txBuilder;
        if (builder != null && builder.supportTransacted()) {
            if (!(builder instanceof JtaTransactionErrorHandlerDefinition)) {
                throw new RuntimeCamelException(
                        "The given transactional error handler builder '" + builder
                                                + "' is not of type '" + JtaTransactionErrorHandlerDefinition.class.getName()
                                                + "' which is required in this environment!");
            }
            LOG.debug("The ErrorHandlerBuilder configured is a JtaTransactionErrorHandlerDefinition: {}", builder);
            txBuilder = (JtaTransactionErrorHandlerDefinition) builder.cloneBuilder();
        } else {
            LOG.debug(
                    "No or no transactional ErrorHandlerBuilder configured, will use default JtaTransactionErrorHandlerDefinition settings");
            txBuilder = new JtaTransactionErrorHandlerDefinition();
        }

        txBuilder.setTransactedPolicy(this);

         
        if (builder != null) {
            route.addErrorHandlerFactoryReference(builder, txBuilder);
        }

        answer = createTransactionErrorHandler(route, processor, txBuilder);

         
        route.setErrorHandlerFactory(txBuilder);

         
        return answer;
    }
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
Pair #2942 Negative (Non-Clone)
ID: 235_292
ClassID: 235
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files)
    protected boolean isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (SftpRemoteFile f : files) {
            if (f.getFilename().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #2943 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #2944 Negative (Non-Clone)
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
Pair #2945 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 511_528
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterDestinationFactories(DestinationFactoryManager dfm)
    private void unregisterDestinationFactories(DestinationFactoryManager dfm) {
        for (String ns : getTransportIds()) {
            try {
                if (dfm.getDestinationFactory(ns) == this) {
                    dfm.deregisterDestinationFactory(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #2946 Negative (Non-Clone)
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
ID: 1977_1618
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.ZooQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #2947 Negative (Non-Clone)
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2948 Negative (Non-Clone)
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 2365_1864
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange)
    private void processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange) {
        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            org.apache.camel.Message message = getMessageForResponse(exchange);
            org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata metadata
                    = new org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createChunksHandler(
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createCompleteHandler(
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Converse Stream command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #2949 Negative (Non-Clone)
ID: 31_53
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #2950 Negative (Non-Clone)
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
Pair #2951 Negative (Non-Clone)
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
Pair #2952 Negative (Non-Clone)
ID: 1751_1454
ClassID: 1751
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (folder == null) {
             
            return;
        }
        if (!scheduler) {
             
            return;
        }

        File dir = new File(folder);
        if (dir.exists() && dir.isDirectory()) {
            String msg = startupMessage(dir);
            if (msg != null) {
                LOG.info(msg);
            }

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.debug(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                 
                if (isRecursive) {
                    this.folderKeys = new HashMap<>();
                    registerRecursive(watcher, path, modifier);
                } else {
                    registerPathToWatcher(modifier, path, watcher);
                }

                task = new WatchFileChangesTask(watcher, path);

                executorService = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this,
                        "FileWatcherReloadStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
Pair #2953 Negative (Non-Clone)
ID: 127_118
ClassID: 127
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<FaultToleranceProcessor> cbs = new ArrayList<>();
        for (Route route : getCamelContext().getRoutes()) {
            List<Processor> list = route.filter("*");
            for (Processor p : list) {
                if (p instanceof FaultToleranceProcessor) {
                    cbs.add((FaultToleranceProcessor) p);
                }
            }
        }
         
        cbs.sort(Comparator.comparing(FaultToleranceProcessor::getId));

        final List<JsonObject> list = new ArrayList<>();
        for (FaultToleranceProcessor cb : cbs) {
            JsonObject jo = new JsonObject();
            jo.put("id", cb.getId());
            jo.put("routeId", cb.getRouteId());
            jo.put("state", cb.getCircuitBreakerState());
            list.add(jo);
        }
        root.put("circuitBreakers", list);

        return root;
    }
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
Pair #2954 Negative (Non-Clone)
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #2955 Negative (Non-Clone)
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
Pair #2956 Negative (Non-Clone)
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #2957 Negative (Non-Clone)
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #2958 Negative (Non-Clone)
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #2959 Negative (Non-Clone)
ID: 220_259
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.storage.downloadTo");

        if (message.getHeaders().containsKey(GoogleCloudStorageConstants.BUCKET_NAME)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.storage.bucket." + message.getHeader(GoogleCloudStorageConstants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2960 Negative (Non-Clone)
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
Pair #2961 Negative (Non-Clone)
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #2962 Negative (Non-Clone)
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #2963 Negative (Non-Clone)
ID: 682_615
ClassID: 682
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                LongTaskTimer.Builder builder = LongTaskTimer.builder(namingStrategy.getLongTaskName(route))
                        .tags(route != null ? namingStrategy.getTags(route) : namingStrategy.getTags(camelContext))
                        .description(route != null ? "Route long task metric" : "CamelContext long task metric");
                if (configuration.getLongTaskInitiator() != null) {
                    configuration.getLongTaskInitiator().accept(builder);
                }
                longTaskTimer = builder.register(meterRegistry);
            }
        }
ID: 2233_1761
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPushTag(Exchange exchange, String operation)
    protected void doPushTag(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isEmpty(endpoint.getTagName())) {
                throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName())
                        .add(Constants.R_TAGS + endpoint.getTagName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).add(Constants.R_TAGS + endpoint.getTagName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2964 Negative (Non-Clone)
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
Pair #2965 Negative (Non-Clone)
ID: 2638_2276
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(String endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            String endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 3286_2683
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer)
    public <T> ResultBuilder error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer) {
        try {
            consumer.accept(this, data);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #2966 Negative (Non-Clone)
ID: 2271_1793
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createDeleteHandler()
    protected DeleteHandler<Object> createDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, Consumed.class);
            if (methods.size() > 1) {
                throw new IllegalArgumentException(
                        "Only one method can be annotated with the @Consumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }
        if (getEndpoint().isConsumeDelete()) {
            return (EntityManager em, Object entityBean, Exchange exchange) -> em.remove(entityBean);
        }

        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };

    }
ID: 3210_2483
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
Name: org.apache.camel.impl.console.DebugDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
Pair #2967 Negative (Non-Clone)
ID: 1245_1073
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Record recordObj = exchange.getIn().getMandatoryBody(Record.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing record {}", recordObj);
            }
            writeApi.writeRecord(bucketName, orgName, writePrecision, recordObj.getInfluxRecord());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 617_556
ClassID: 617
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.buildProducer()
    protected GenericFileProducer<FTPFile> buildProducer() {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new RemoteFileProducer<>(this, createRemoteFileOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #2968 Negative (Non-Clone)
ID: 2386_1881
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onQuit(IRCUser user, String msg)
        public void onQuit(IRCUser user, String msg) {
            if (configuration.isOnQuit()) {
                Exchange exchange = createOnQuitExchange(user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #2969 Negative (Non-Clone)
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #2970 Negative (Non-Clone)
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #2971 Negative (Non-Clone)
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
Pair #2972 Negative (Non-Clone)
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #2973 Negative (Non-Clone)
ID: 2563_2137
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getClassJavadocRaw(AbstractJavaSource clazz, String rawClass)
    private static String getClassJavadocRaw(AbstractJavaSource clazz, String rawClass) {
        Object obj = clazz.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 2468_1987
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc != null ? loc : "";
    }
Pair #2974 Negative (Non-Clone)
ID: 174_144
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatchQuery(String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatchQuery(
            String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        final byte[] queryBytes;
        try {
            queryBytes = soqlQuery.getBytes(StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Unexpected exception: " + e.getMessage(), e));
            return;
        }
        post.body(new BytesRequestContent(queryBytes));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(jobContentType) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1130_967
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.receive(String requestUriPattern, HttpRequestHandler handler)
    public void receive(String requestUriPattern, HttpRequestHandler handler) {
        if (listenerThread != null) {
            lock.lock();
            try {
                listenerThread.registerHandler(requestUriPattern, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2975 Negative (Non-Clone)
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #2976 Negative (Non-Clone)
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2977 Negative (Non-Clone)
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2178_1714
ClassID: 2178
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/ManagementHttpServer.java
Name: org.apache.camel.component.platform.http.main.ManagementHttpServer.extractState(int status)
            private String extractState(int status) {
                if (status <= 4) {
                    return "Starting";
                } else if (status == 5) {
                    return "Running";
                } else if (status == 6) {
                    return "Suspending";
                } else if (status == 7) {
                    return "Suspended";
                } else if (status == 8) {
                    return "Terminating";
                } else if (status == 9) {
                    return "Terminated";
                } else {
                    return "Terminated";
                }
            }
Pair #2978 Negative (Non-Clone)
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2979 Negative (Non-Clone)
ID: 2480_2031
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.nodePrefixId = o.getString("nodePrefixId");
                            row.processor = o.getString("from");
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                row.total = stats.get("exchangesTotal").toString();
                                Object num = stats.get("remoteExchangesTotal");
                                if (num != null) {
                                    row.totalRemote = num.toString();
                                }
                                row.inflight = stats.get("exchangesInflight").toString();
                                num = stats.get("remoteExchangesInflight");
                                if (num != null) {
                                    row.inflightRemote = num.toString();
                                }
                                row.failed = stats.get("exchangesFailed").toString();
                                num = stats.get("remoteExchangesFailed");
                                if (num != null) {
                                    row.failedRemote = num.toString();
                                }
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add) {
                                rows.add(row);
                                List<JsonObject> list = o.getCollection("processors");
                                if (list != null) {
                                    addProcessors(row, rows, list);
                                }
                            }
                        }
                    }
                });

         
        if (running || filter != null || group != null) {
            rows.removeIf(r -> {
                boolean keep = true;
                if (filter != null) {
                    keep = PatternHelper.matchPatterns(r.processorId, filter);
                }
                if (!keep && filter != null) {
                    for (String f : filter) {
                        if (!keep) {
                            String w = f.endsWith("*") ? f : f + "*";  
                            keep = PatternHelper.matchPattern(r.processor, w);
                        }
                    }
                }
                 
                if (keep && group != null) {
                    keep = PatternHelper.matchPatterns(r.group, group);
                }
                if (keep && running) {
                    keep = "Started".equals(r.state);
                }
                return !keep;
            });
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
Pair #2980 Negative (Non-Clone)
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2981 Negative (Non-Clone)
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
Pair #2982 Negative (Non-Clone)
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #2983 Negative (Non-Clone)
ID: 1377_1240
ClassID: 1377
File: systems/camel-java/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/support/SplunkDataReader.java
Name: org.apache.camel.component.splunk.support.SplunkDataReader.nonBlockingSearch(SplunkResultProcessor callback)
    private List<SplunkEvent> nonBlockingSearch(SplunkResultProcessor callback) throws Exception {
        LOG.debug("non block search start");

        JobArgs queryArgs = new JobArgs();
        queryArgs.setExecutionMode(ExecutionMode.NORMAL);
        Calendar startTime = Calendar.getInstance();
        populateArgs(queryArgs, startTime, false);

        List<SplunkEvent> data = runQuery(queryArgs, false, callback);
        lastSuccessfulReadTime = startTime;
        return data;
    }
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #2984 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #2985 Negative (Non-Clone)
ID: 701_645
ClassID: 701
File: systems/camel-java/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java
Name: org.apache.camel.component.stringtemplate.StringTemplateComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining);
        answer.setContentCache(contentCache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #2986 Negative (Non-Clone)
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #2987 Negative (Non-Clone)
ID: 1810_1494
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCreateContainerRequest(DockerClient client, Message message)
    private CreateContainerCmd executeCreateContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Create Container Request");

        String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);

        ObjectHelper.notNull(image, "Image must be specified");

        CreateContainerCmd createContainerCmd = client.createContainerCmd(image);
        createContainerCmd.withHostConfig(newHostConfig());

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            createContainerCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            createContainerCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            createContainerCmd.withAttachStdout(attachStdOut);
        }

        Capability[] capAdd = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_ADD, message, Capability.class);

        if (capAdd != null) {
            createContainerCmd.getHostConfig().withCapAdd(capAdd);
        }

        Capability[] capDrop = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_DROP, message, Capability.class);

        if (capDrop != null) {
            createContainerCmd.getHostConfig().withCapDrop(capDrop);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            createContainerCmd.withCmd(cmd);
        }

        Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);

        if (cpuShares != null) {
            createContainerCmd.getHostConfig().withCpuShares(cpuShares);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            createContainerCmd.withNetworkDisabled(disableNetwork);
        }

        String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);

        if (dns != null) {
            createContainerCmd.getHostConfig().withDns(dns);
        }

        String domainName = DockerHelper.getProperty(DockerConstants.DOCKER_DOMAIN_NAME, configuration, message, String.class);

        if (domainName != null) {
            createContainerCmd.withDomainName(domainName);
        }

        String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (env != null) {
            createContainerCmd.withEnv(env);
        }

        String[] entrypoint = DockerHelper.getArrayProperty(DockerConstants.DOCKER_ENTRYPOINT, message, String.class);

        if (entrypoint != null) {
            createContainerCmd.withEntrypoint(entrypoint);
        }

        ExposedPort[] exposedPorts
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);

        if (exposedPorts != null) {
            createContainerCmd.withExposedPorts(exposedPorts);
        }

        HostConfig hostConfig
                = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_CONFIG, configuration, message, HostConfig.class);

        if (hostConfig != null) {
            createContainerCmd.withHostConfig(hostConfig);
        }

        String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostName != null) {
            createContainerCmd.withHostName(hostName);
        }

        Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);

        if (memoryLimit != null) {
            createContainerCmd.getHostConfig().withMemory(memoryLimit);
        }

        Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);

        if (memorySwap != null) {
            createContainerCmd.getHostConfig().withMemorySwap(memorySwap);
        }

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        if (name != null) {
            createContainerCmd.withName(name);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            createContainerCmd.withPortSpecs(portSpecs);
        }

        Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);

        if (stdInOpen != null) {
            createContainerCmd.withStdinOpen(stdInOpen);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            createContainerCmd.withStdInOnce(stdInOnce);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            createContainerCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            createContainerCmd.withUser(user);
        }

        Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);

        if (volume != null) {
            createContainerCmd.withVolumes(volume);
        }

        Bind[] binds = DockerHelper.getArrayProperty(DockerConstants.DOCKER_BINDS, message, Bind.class);

        if (binds != null) {
            createContainerCmd.getHostConfig().withBinds(binds);
        }

        VolumesFrom[] volumesFrom
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES_FROM, message, VolumesFrom.class);

        if (volumesFrom != null) {
            createContainerCmd.getHostConfig().withVolumesFrom(volumesFrom);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            createContainerCmd.withWorkingDir(workingDir);
        }

        return createContainerCmd;

    }
ID: 1875_1548
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getType()
    public Knative.Type getType() {
        Knative.Type answer = this.type;
        if (answer == null) {
            String stringValue = getMetadata(Knative.KNATIVE_TYPE);
            if (stringValue != null) {
                answer = Knative.Type.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #2988 Negative (Non-Clone)
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 1282_1128
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveVertex()
    private Function<Exchange, Object> saveVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.insertVertex(vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2989 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 2528_2100
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
Name: org.apache.camel.main.download.KnownDependenciesResolver.doLoadKnownDependencies(String name)
    private void doLoadKnownDependencies(String name) {
        try {
            Enumeration<URL> resources = getClass().getClassLoader().getResources(name);
            while (resources.hasMoreElements()) {
                URL resource = resources.nextElement();
                try (InputStream is = resource.openStream()) {
                    Properties prop = new Properties();
                    prop.load(is);
                    Map<String, String> map = new HashMap<>();
                    for (String key : prop.stringPropertyNames()) {
                        String value = prop.getProperty(key);
                        map.put(key, value);
                    }
                    addMappings(map);
                }
            }
        } catch (Exception e) {
             
        }
    }
Pair #2990 Negative (Non-Clone)
ID: 2509_2062
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.implementType(ClassInfo ci, DotName interfaceType)
    protected boolean implementType(ClassInfo ci, DotName interfaceType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(interfaceType)) {
            return true;
        }

        for (DotName name : ci.interfaceNames()) {
            if (name.equals(interfaceType)) {
                return true;
            }
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return implementType(
                    view.getClassByName(superName),
                    interfaceType);
        }

        return false;
    }
ID: 1253_1092
ClassID: 1253
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
         
        TransactionTemplate transactionTemplate = resolveTransactionTemplate(definition);
        ObjectHelper.notNull(transactionTemplate, "transactionTemplate", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        TransactionErrorHandler answer = new TransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionTemplate,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
Pair #2991 Negative (Non-Clone)
ID: 1889_1561
ClassID: 1889
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaUdpProtocolCodecFactory.java
Name: org.apache.camel.component.mina.MinaUdpProtocolCodecFactory.getDecoder(IoSession session)
    public ProtocolDecoder getDecoder(IoSession session) throws Exception {
        return new ProtocolDecoder() {

            public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
                 
                 
                byte[] bytes = context.getTypeConverter().mandatoryConvertTo(byte[].class, in);
                out.write(bytes);
            }

            public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
                 
            }

            public void dispose(IoSession session) throws Exception {
                 
            }
        };
    }
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
Pair #2992 Negative (Non-Clone)
ID: 194_220
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponse(final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponse(
            final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectCompositeResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 1086_927
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleEnd()
    private void handleEnd() {
        Handler<Void> endHandler;
        lock.lock();
        try {
            dataHandler = null;
            endHandler = this.endHandler;
        } finally {
            lock.unlock();
        }
        if (endHandler != null) {
            checkContext();
            endHandler.handle(null);
        }
    }
Pair #2993 Negative (Non-Clone)
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
ID: 2462_1966
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.updatePids(Map<Long, Row> rows)
    private void updatePids(Map<Long, Row> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Row row = new Row();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #2994 Negative (Non-Clone)
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #2995 Negative (Non-Clone)
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #2996 Negative (Non-Clone)
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #2997 Negative (Non-Clone)
ID: 1322_1231
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doDelete(Exchange exchange, String namespaceName)
    protected void doDelete(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            LOG.error("Deleting a specific custom resource require specify a custom resource name");
            throw new IllegalArgumentException("Deleting a specific custom resource require specify a custom resource name");
        }

        try {
            List<StatusDetails> statusDetails
                    = getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName).withName(customResourceName).delete();

            boolean deleted = ObjectHelper.isNotEmpty(statusDetails);
            exchange.getMessage().setHeader(KubernetesConstants.KUBERNETES_DELETE_RESULT, deleted);
        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

    }
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #2998 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #2999 Negative (Non-Clone)
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 285_356
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toFloat(JsonNode node, Exchange exchange)
    public Float toFloat(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloat()) {
                return nn.floatValue();
            }
        }
        String text = node.asText();
        return Float.valueOf(text);
    }
Pair #3000 Negative (Non-Clone)
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 2506_2055
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/ToolingSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.ToolingSupport.combine(String... items)
    public static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
Pair #3001 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
Pair #3002 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
Pair #3003 Negative (Non-Clone)
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 175_151
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
Pair #3004 Negative (Non-Clone)
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #3005 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
Pair #3006 Negative (Non-Clone)
ID: 2668_2354
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.deliverToOnRedeliveryProcessor()
        protected void deliverToOnRedeliveryProcessor() {
            if (onRedeliveryProcessor == null) {
                return;
            }

            if (LOG.isTraceEnabled()) {
                LOG.trace("Redelivery processor {} is processing Exchange: {} before its redelivered",
                        onRedeliveryProcessor, exchange);
            }

             
            try {
                onRedeliveryProcessor.process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            LOG.trace("Redelivery processor done");
        }
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #3007 Negative (Non-Clone)
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #3008 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #3009 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
Pair #3010 Negative (Non-Clone)
ID: 1913_1575
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.stopRouteImpl(Route route)
    private void stopRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Started) {
            LOG.info("Stopping {}", route.getId());
            stopRoute(route);
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
ID: 406_436
ClassID: 406
File: systems/camel-java/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
Name: org.apache.camel.component.couchdb.CouchDbEndpoint.CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component)
    public CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component) throws Exception {
        super(endpointUri, component);

        URI uri = new URI(remaining);

        protocol = uri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }

        port = uri.getPort() == -1 ? DEFAULT_PORT : uri.getPort();

        if (uri.getPath() == null || uri.getPath().isBlank()) {
            throw new IllegalArgumentException(URI_ERROR);
        }
        database = uri.getPath().substring(1);

        hostname = uri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }
    }
Pair #3011 Negative (Non-Clone)
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 2640_2287
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariable(String key, Object value)
    public FluentProducerTemplate withVariable(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariable and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #3012 Negative (Non-Clone)
ID: 3178_2455
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.read(byte[] b, int off, int len)
    public int read(byte[] b, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, b, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }

        return tlen > 0 ? tlen : -1;
    }
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
Pair #3013 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 3307_2719
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums)
    private void handleNotFound(
            ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums) {
        result.addInvalidEnum(longKey, value);
        result.addInvalidEnumChoices(longKey, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(longKey, suggestions);
            }
        }
    }
Pair #3014 Negative (Non-Clone)
ID: 3296_2704
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.stop()
    public void stop() {
        lock.lock();
        try {
            if (status == FAILED) {
                logger().trace("Service: {} failed and regarded as already stopped", this);
                return;
            }
            if (status == STOPPED || status == SHUTTING_DOWN || status == SHUTDOWN) {
                logger().trace("Service: {} already stopped", this);
                return;
            }
            if (status == STOPPING) {
                logger().trace("Service: {} already stopping", this);
                return;
            }
            status = STOPPING;
            logger().trace("Stopping service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doStop();
                status = STOPPED;
                logger().trace("Stopped: {} service", this);
            } catch (Exception e) {
                logger().trace("Error while stopping service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 220_253
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/transform/EventHubsCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.eventhubs.transform.EventHubsCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.eventhubs.consume");

        if (message.getHeaders().containsKey(EventHubsConstants.PARTITION_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.eventhubs." + message.getHeader(EventHubsConstants.PARTITION_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(EventHubsConstants.SEQUENCE_NUMBER, Long.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3015 Negative (Non-Clone)
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
ID: 689_629
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpsert(Exchange exchange, String tableName)
    private void doUpsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Upsert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Upsert upsert = table.newUpsert();
        PartialRow row = upsert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(upsert);
    }
Pair #3016 Negative (Non-Clone)
ID: 1738_1450
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketConsumer.processExchange(Exchange exchange, RoutingContext routingContext)
    protected void processExchange(Exchange exchange, RoutingContext routingContext) {
        routingContext.vertx().executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                            routingContext.fail(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3017 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 1232_1056
ClassID: 1232
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
Name: org.apache.camel.component.atom.AtomComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        AtomEndpoint atom = (AtomEndpoint) endpoint;
        if (atom.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            URI remainingUri = URISupport.createRemainingURI(new URI(remaining), parameters);
            feedUri = remainingUri.toString();
        } else {
            feedUri = remaining;
        }

        atom.setFeedUri(feedUri);
    }
Pair #3018 Negative (Non-Clone)
ID: 926_803
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor)
    GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
Pair #3019 Negative (Non-Clone)
ID: 897_751
ClassID: 897
File: systems/camel-java/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
Name: org.apache.camel.component.slack.SlackConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
Pair #3020 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #3021 Negative (Non-Clone)
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #3022 Negative (Non-Clone)
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
ID: 1498_1344
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePCL(String flavor)
    public DocFlavor forMimeTypePCL(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PCL;
        }

        return d;
    }
Pair #3023 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3024 Negative (Non-Clone)
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
Pair #3025 Negative (Non-Clone)
ID: 716_657
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            final Span processorSpan = tracer.getTracer().spanBuilder(getOperationName(processorDefinition))
                    .setParent(Context.current().with(span))
                    .setAttribute("component", getComponentName(processorDefinition))
                    .startSpan();

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(processorSpan));
            }

            try (Scope ignored = processorSpan.makeCurrent()) {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
                processorSpan.end();
            }
        }
ID: 438_457
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(consumer.getConfiguration().isClientMode());
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #3026 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 2233_1761
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPushTag(Exchange exchange, String operation)
    protected void doPushTag(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isEmpty(endpoint.getTagName())) {
                throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName())
                        .add(Constants.R_TAGS + endpoint.getTagName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).add(Constants.R_TAGS + endpoint.getTagName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3027 Negative (Non-Clone)
ID: 3223_2511
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);
        final Expression rightExp = right.createExpression(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return createAndExpression(leftExp, rightExp);
        } else if (operator == LogicalOperatorType.OR) {
            return createOrExpression(leftExp, rightExp);
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
Pair #3028 Negative (Non-Clone)
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
ID: 1779_1459
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetBeforeSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND, false, boolean.class);
        if (resetBeforeSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND), "resetting");
            doConnectionClose(socket, true, null);
            answer = false;
        } else {
            final boolean closeBeforeSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND, false, boolean.class);
            if (closeBeforeSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND), "closing");
                doConnectionClose(socket, false, null);
                answer = false;
            }
        }

        return answer;
    }
Pair #3029 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #3030 Negative (Non-Clone)
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3031 Negative (Non-Clone)
ID: 2585_2185
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.evaluateTemplate(final String templateName, final MainModel model)
    private static String evaluateTemplate(final String templateName, final MainModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (MainModel.MainGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 380_419
ClassID: 380
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        String shortUri = StringHelper.before(uri, "::");
        final int lastIdx = lastIndexOneOf(uri, shortUri);
        if (lastIdx != -1) {
            return uri.substring(lastIdx + 1);
        } else {
            return null;
        }
    }
Pair #3032 Negative (Non-Clone)
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #3033 Negative (Non-Clone)
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #3034 Negative (Non-Clone)
ID: 2380_1871
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(String[] array1, String[] array2)
    public static String[] concat(String[] array1, String[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        String[] array = new String[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 1233_1060
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400DataQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #3035 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 1861_1527
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #3036 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 197_227
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeSyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
Pair #3037 Negative (Non-Clone)
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #3038 Negative (Non-Clone)
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #3039 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
Pair #3040 Negative (Non-Clone)
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
Pair #3041 Negative (Non-Clone)
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
Pair #3042 Negative (Non-Clone)
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
Pair #3043 Negative (Non-Clone)
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
ID: 1855_1512
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in AWS Secrets Manager: {}", metadata);
        return keyPair;
    }
Pair #3044 Negative (Non-Clone)
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #3045 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #3046 Negative (Non-Clone)
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #3047 Negative (Non-Clone)
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
Pair #3048 Negative (Non-Clone)
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 765_686
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorBucketName(Exchange exchange)
    private String determineVectorBucketName(Exchange exchange) {
        String vectorBucketName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_BUCKET_NAME, String.class);
        if (vectorBucketName == null) {
            vectorBucketName = getConfiguration().getVectorBucketName();
        }
        if (vectorBucketName == null) {
            throw new IllegalArgumentException("Vector bucket name must be specified");
        }
        return vectorBucketName;
    }
Pair #3049 Negative (Non-Clone)
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
ID: 1905_1568
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedHeadersMDC(Exchange exchange, boolean push)
    private void userSelectedHeadersMDC(Exchange exchange, boolean push) {
        for (String customHeader : getCustomHeaders().split(",")) {
            if (exchange.getIn().getHeader(customHeader) != null) {
                if (push) {
                    MDC.put(customHeader, exchange.getIn().getHeader(customHeader, String.class));
                } else {
                    MDC.remove(customHeader);
                }
            }
        }
    }
Pair #3050 Negative (Non-Clone)
ID: 188_196
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportDescription(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportDescription(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportDescription(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportDescriptionResponseCallback() {
                    @Override
                    public void onResponse(
                            ReportDescription reportDescription, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportDescription, headers, ex, callback);
                    }
                });
    }
ID: 1957_1594
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.deleteByIds(Exchange exchange)
    private void deleteByIds(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        DeleteResponse result
                = index.deleteByIds(elements);

        populateDeleteResponse(result, exchange);
    }
Pair #3051 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
Pair #3052 Negative (Non-Clone)
ID: 195_223
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResult(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResult(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        String resultId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
            resultId = getParameter(RESULT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            resultId = getParameter(RESULT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResult(jobId, batchId, resultId, determineHeaders(exchange),
                new BulkApiClient.StreamResponseCallback() {
                    @Override
                    public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        StreamCache body = null;
                        if (inputStream != null) {
                             
                             
                            try {
                                body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                            } catch (IOException e) {
                                String msg = "Error retrieving query result: " + e.getMessage();
                                ex = new SalesforceException(msg, e);
                            } finally {
                                 
                                try {
                                    inputStream.close();
                                } catch (IOException e) {
                                     
                                }
                            }
                        }
                        processResponse(exchange, body, headers, ex, callback);
                    }
                });
    }
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
Pair #3053 Negative (Non-Clone)
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #3054 Negative (Non-Clone)
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #3055 Negative (Non-Clone)
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #3056 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
Pair #3057 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 3208_2475
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<JsonObject> list = new ArrayList<>();
        root.put("services", list);

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            JsonObject jo = new JsonObject();
            jo.put("component", es.getComponent());
            jo.put("direction", es.getDirection());
            jo.put("hosted", es.isHostedService());
            jo.put("protocol", es.getServiceProtocol());
            jo.put("serviceUrl", es.getServiceUrl());
            jo.put("endpointUri", es.getEndpointUri());
            if (es.getRouteId() != null) {
                jo.put("routeId", es.getRouteId());
            }
            jo.put("hits", es.getHits());
            var map = es.getServiceMetadata();
            if (map != null) {
                jo.put("metadata", map);
            }
            list.add(jo);
        }

        return root;
    }
Pair #3058 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #3059 Negative (Non-Clone)
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
Pair #3060 Negative (Non-Clone)
ID: 2249_1775
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPut(Message message)
    public void onPut(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.put(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.put(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.put(key, value);
        }

        setResult(message, result);
    }
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
Pair #3061 Negative (Non-Clone)
ID: 1304_1137
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseConfigMapPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseConfigMapPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        ConfigMap cm = getClient().configMaps().withName(name).get();
        if (cm != null) {
            answer = cm.getData() != null ? cm.getData().get(key) : null;
            if (answer == null) {
                 
                answer = cm.getBinaryData() != null ? cm.getBinaryData().get(key) : null;
                if (answer != null) {
                     
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
ID: 2522_2080
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
            case "cdcChangeTablesSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcChangeTablesSchema((java.lang.String) value); return true;
            case "cdcControlSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcControlSchema((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumDb2Component) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "db2Platform": getOrCreateConfiguration((DebeziumDb2Component) component).setDb2Platform((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumDb2Component) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumDb2Component) component).setIncludeSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumDb2Component) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumDb2Component) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumDb2Component) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumDb2Component) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumDb2Component) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumDb2Component) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumDb2Component) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3062 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #3063 Negative (Non-Clone)
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
Pair #3064 Negative (Non-Clone)
ID: 175_151
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #3065 Negative (Non-Clone)
ID: 2612_2253
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateLanguageModel(JsonObject obj)
    public static LanguageModel generateLanguageModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("language");
        LanguageModel model = new LanguageModel();
        parseModel(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            LanguageOptionModel option = new LanguageOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        JsonObject mprf = (JsonObject) obj.get("functions");
        if (mprf != null) {
            for (Map.Entry<String, Object> entry : mprf.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                LanguageModel.LanguageFunctionModel func = new LanguageModel.LanguageFunctionModel();
                parseFunction(mp, func, entry.getKey());
                model.addFunction(func);
            }
        }
        return model;
    }
ID: 926_802
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor)
    GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        this.pendingSynchronousPullResponses = ConcurrentHashMap.newKeySet();
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #3066 Negative (Non-Clone)
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
Pair #3067 Negative (Non-Clone)
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
ID: 685_625
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3068 Negative (Non-Clone)
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
Pair #3069 Negative (Non-Clone)
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #3070 Negative (Non-Clone)
ID: 1310_1187
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3071 Negative (Non-Clone)
ID: 1216_1040
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        String message = fault.getFaultstring();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3270_2640
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
Pair #3072 Negative (Non-Clone)
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #3073 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #3074 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 1311_1192
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doListEventsByLabel(Exchange exchange)
    protected void doListEventsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_EVENTS_LABELS, Map.class);
        EventList eventList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get events by labels require specify a labels set");
            throw new IllegalArgumentException("Get events by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().withLabels(labels).list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, eventList.getItems());
    }
Pair #3075 Negative (Non-Clone)
ID: 3308_2720
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateSimple(ClassLoader classLoader, String simple, boolean predicate)
    private LanguageValidationResult doValidateSimple(ClassLoader classLoader, String simple, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = simple.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(simple);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("createPredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("createExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")  
                        || cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleParserException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {  
                    try {
                        Method method = cause.getClass().getMethod("getShortMessage");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            String msg = (String) result;
                            answer.setShortError(msg);
                        }
                    } catch (Exception i) {
                         
                    }

                    if (answer.getShortError() == null) {
                         
                        String msg = answer.getError();
                         
                        int idx = msg.indexOf(" at location ");
                        if (idx > 0) {
                            msg = msg.substring(0, idx);
                            answer.setShortError(msg);
                        }
                    }
                }
            }
        }

        return answer;
    }
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3076 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #3077 Negative (Non-Clone)
ID: 1550_1372
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslySetData(ProductionContext ctx)
    private OperationResult synchronouslySetData(ProductionContext ctx) throws Exception {

        SetDataOperation setData = new SetDataOperation(ctx.connection, ctx.node, ctx.payload);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3078 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3079 Negative (Non-Clone)
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #3080 Negative (Non-Clone)
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
ID: 453_483
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.getFolderInfo(String folderId, String... fields)
    public BoxFolder.Info getFolderInfo(String folderId, String... fields) {
        try {
            LOG.debug("Getting info for folder(id={})", folderId);
            BoxHelper.notNull(folderId, FOLDER_ID);

            BoxFolder folder = new BoxFolder(boxConnection, folderId);

            if (fields == null || fields.length == 0) {
                return folder.getInfo();
            } else {
                return folder.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #3081 Negative (Non-Clone)
ID: 1449_1304
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.invalidRecord(InvalidRecordException ex)
    public void invalidRecord(InvalidRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "InvalidRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreInvalidRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #3082 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1856_1513
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #3083 Negative (Non-Clone)
ID: 3240_2565
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
Name: org.apache.camel.reifier.SetPropertyReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "propertyName", this);
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetPropertyProcessor answer = new SetPropertyProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3084 Negative (Non-Clone)
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
Pair #3085 Negative (Non-Clone)
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
Pair #3086 Negative (Non-Clone)
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
Pair #3087 Negative (Non-Clone)
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3088 Negative (Non-Clone)
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 633_563
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.SimpleScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartDate() == null && getRouteStopDate() == null && getRouteSuspendDate() == null
                    && getRouteResumeDate() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartDate() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopDate() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendDate() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeDate() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #3089 Negative (Non-Clone)
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
Pair #3090 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #3091 Negative (Non-Clone)
ID: 1307_1146
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Event Consumer");
        if (executor != null) {
            KubernetesHelper.close(eventWatcher, eventWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
Pair #3092 Negative (Non-Clone)
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 1853_1506
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PublicKey importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPublicKey(keyData);
        } else {
            derBytes = keyData;
        }

        X509EncodedKeySpec spec = new X509EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePublic(spec);
    }
Pair #3093 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
Pair #3094 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #3095 Negative (Non-Clone)
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 2461_1964
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);

        Map<Long, Pid> pids = new LinkedHashMap<>();

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailReceiveFiles(pids, tail);
                dumpReceiveFiles(pids, tail, limit);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            boolean init = true;
            StopWatch watch = new StopWatch();
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        if (!"json".equals(output)) {
                            printer().println("Waiting for messages ...");
                        }
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readReceiveFiles(pids);
                    if (lines > 0) {
                        more = dumpReceiveFiles(pids, 0, null);
                        init = false;
                    } else if (lines == 0) {
                        if (init) {
                            if (!"json".equals(output)) {
                                printer().println("Waiting for messages ...");
                            }
                            init = false;
                        }
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #3096 Negative (Non-Clone)
ID: 176_157
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.CLOSED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3097 Negative (Non-Clone)
ID: 1319_1225
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("secret");
        if (pf instanceof SecretPropertiesFunction) {
            propertiesFunction = (SecretPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        secrets = camelContext.getVaultConfiguration().kubernetes().getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Kubernetes vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 188_196
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportDescription(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportDescription(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportDescription(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportDescriptionResponseCallback() {
                    @Override
                    public void onResponse(
                            ReportDescription reportDescription, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportDescription, headers, ex, callback);
                    }
                });
    }
Pair #3098 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #3099 Negative (Non-Clone)
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
ID: 1130_962
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.addConsumer(String key, DirectConsumer consumer)
    public void addConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            if (consumers.putIfAbsent(key, consumer) != null) {
                throw new IllegalArgumentException(
                        "Cannot add a 2nd consumer to the same endpoint: " + key
                                                   + ". DirectEndpoint only allows one consumer.");
            }
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #3100 Negative (Non-Clone)
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #3101 Negative (Non-Clone)
ID: 2635_2268
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStop()
    protected void doStop() throws Exception {
        if (contextServicePlugins != null) {
            for (ContextServicePlugin plugin : contextServicePlugins) {
                try {
                    plugin.unload(camelContext);
                } catch (Exception e) {
                    LOG.warn(
                            "Unloading of plugin {} failed, however the exception will be ignored so shutdown can continue. Reason: {}",
                            plugin.getClass().getName(), e.getMessage(), e);
                }
            }
        }
    }
ID: 182_171
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeApiClient.tryToReadResponse(final Class<T> expectedType, final InputStream responseStream)
    <T> Optional<T> tryToReadResponse(final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJson(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #3102 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
Pair #3103 Negative (Non-Clone)
ID: 383_428
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager()
    protected ReplyManager createReplyManager() throws Exception {
         
        ReplyManager temporaryQueueReplyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
        temporaryQueueReplyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        temporaryQueueReplyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(temporaryQueueReplyManager, name);
        temporaryQueueReplyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(temporaryQueueReplyManager);

        return temporaryQueueReplyManager;
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #3104 Negative (Non-Clone)
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3105 Negative (Non-Clone)
ID: 714_652
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
Name: org.apache.camel.observation.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2610_2244
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateDataFormatModel(JsonObject obj)
    public static DataFormatModel generateDataFormatModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("dataformat");
        DataFormatModel model = new DataFormatModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            DataFormatOptionModel option = new DataFormatOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        return model;
    }
Pair #3106 Negative (Non-Clone)
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3107 Negative (Non-Clone)
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #3108 Negative (Non-Clone)
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #3109 Negative (Non-Clone)
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 464_490
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.getEndpointConfiguration(GoogleDriveApiName apiName)
    public GoogleDriveConfiguration getEndpointConfiguration(GoogleDriveApiName apiName) {
        GoogleDriveConfiguration result = null;
        switch (apiName) {
            case DRIVE_ABOUT:
                result = new DriveAboutEndpointConfiguration();
                break;
            case DRIVE_CHANGES:
                result = new DriveChangesEndpointConfiguration();
                break;
            case DRIVE_CHANNELS:
                result = new DriveChannelsEndpointConfiguration();
                break;
            case DRIVE_COMMENTS:
                result = new DriveCommentsEndpointConfiguration();
                break;
            case DRIVE_DRIVES:
                result = new DriveDrivesEndpointConfiguration();
                break;
            case DRIVE_FILES:
                result = new DriveFilesEndpointConfiguration();
                break;
            case DRIVE_PERMISSIONS:
                result = new DrivePermissionsEndpointConfiguration();
                break;
            case DRIVE_REPLIES:
                result = new DriveRepliesEndpointConfiguration();
                break;
            case DRIVE_REVISIONS:
                result = new DriveRevisionsEndpointConfiguration();
                break;
            case DRIVE_TEAMDRIVES:
                result = new DriveTeamdrivesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3110 Negative (Non-Clone)
ID: 2287_1803
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.describeVectorIndex(S3VectorsClient client, Exchange exchange)
    private void describeVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        GetIndexRequest request = GetIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Describing vector index [{}] in bucket [{}]", vectorIndexName, vectorBucketName);
        GetIndexResponse response = client.getIndex(request);
        LOG.trace("Describe vector index response: {}", response);

         
        message.setBody(response);
    }
ID: 2461_1964
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);

        Map<Long, Pid> pids = new LinkedHashMap<>();

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailReceiveFiles(pids, tail);
                dumpReceiveFiles(pids, tail, limit);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            boolean init = true;
            StopWatch watch = new StopWatch();
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        if (!"json".equals(output)) {
                            printer().println("Waiting for messages ...");
                        }
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readReceiveFiles(pids);
                    if (lines > 0) {
                        more = dumpReceiveFiles(pids, 0, null);
                        init = false;
                    } else if (lines == 0) {
                        if (init) {
                            if (!"json".equals(output)) {
                                printer().println("Waiting for messages ...");
                            }
                            init = false;
                        }
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #3111 Negative (Non-Clone)
ID: 1309_1166
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.eventReceived(Action action, GenericKubernetesResource resource)
                            public void eventReceived(Action action, GenericKubernetesResource resource) {
                                Exchange exchange = createExchange(false);
                                exchange.getIn().setBody(Serialization.asJson(resource));
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_ACTION, action);
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_TIMESTAMP,
                                        System.currentTimeMillis());
                                try {
                                    processor.process(exchange);
                                } catch (Exception e) {
                                    getExceptionHandler().handleException("Error during processing", exchange, e);
                                } finally {
                                    releaseExchange(exchange, false);
                                }
                            }
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3112 Negative (Non-Clone)
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
Pair #3113 Negative (Non-Clone)
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
ID: 1062_919
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyQualifiers(List<String> sigPolicyQualifiers)
    public void setSigPolicyQualifiers(List<String> sigPolicyQualifiers) {
        if (sigPolicyQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyQualifiers' is null");
        }
        for (String qualifier : sigPolicyQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one of the policy qualifiers is null or empty");
            }
        }
        this.sigPolicyQualifiers = new ArrayList<>(sigPolicyQualifiers);
    }
Pair #3114 Negative (Non-Clone)
ID: 1305_1140
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusLosingLeadership()
    private void refreshStatusLosingLeadership() {
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be lost in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is losing leadership now...", logPrefix);
        this.currentState = State.LEADERSHIP_LOST;
        this.serializedExecutor.execute(this::refreshStatus);
    }
ID: 2400_1889
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferProducer.java
Name: org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case READ_ONCE_HEAD:
                this.readOnceHead(exchange);
                break;

            case READ_ONCE_TAIL:
                this.readOnceTail(exchange);
                break;

            case CAPACITY:
                this.getCapacity(exchange);
                break;

            case REMAINING_CAPACITY:
                this.getRemainingCapacity(exchange);
                break;

            case ADD:
                this.add(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the RINGBUFFER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #3115 Negative (Non-Clone)
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3116 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 1691_1416
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper(camelContext) {

                    @Override
                    public CamelContext getCamelContext() {
                        CamelContext answer = CamelBeanPostProcessor.this.camelContext;
                        if (answer == null) {
                             
                             
                             
                             
                            answer = delegate.getOrLookupCamelContext();
                        }
                        return answer;
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
Pair #3117 Negative (Non-Clone)
ID: 3292_2695
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextServerParameters[clientAuthentication=");
        builder.append(clientAuthentication);
        builder.append(", getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #3118 Negative (Non-Clone)
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
Pair #3119 Negative (Non-Clone)
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
Pair #3120 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
Pair #3121 Negative (Non-Clone)
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #3122 Negative (Non-Clone)
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #3123 Negative (Non-Clone)
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
Pair #3124 Negative (Non-Clone)
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #3125 Negative (Non-Clone)
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
Pair #3126 Negative (Non-Clone)
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
Pair #3127 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3128 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #3129 Negative (Non-Clone)
ID: 3243_2574
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/MethodCallExpressionReifier.java
Name: org.apache.camel.reifier.language.MethodCallExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[7];
        properties[0] = asResultType();
        properties[1] = definition.getInstance();
        properties[2] = parseString(definition.getMethod());
        properties[3] = definition.getBeanType();
        properties[4] = parseString(definition.getRef());
        properties[5] = parseString(definition.getScope());
        properties[6] = parseString(definition.getValidate());
        return properties;
    }
ID: 2492_2042
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureProperties(Traits traitsSpec, String[] properties)
    public static void configureProperties(Traits traitsSpec, String[] properties) {
        if (properties == null || properties.length == 0) {
            return;
        }

        Camel camelTrait = Optional.ofNullable(traitsSpec.getCamel()).orElseGet(Camel::new);
        if (camelTrait.getProperties() == null) {
            camelTrait.setProperties(new ArrayList<>());
        }
        camelTrait.getProperties().addAll(List.of(properties));
        traitsSpec.setCamel(camelTrait);
    }
Pair #3130 Negative (Non-Clone)
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1624_1399
ClassID: 1624
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-vector-store/src/main/java/org/apache/camel/component/springai/vectorstore/SpringAiVectorStoreProducer.java
Name: org.apache.camel.component.springai.vectorstore.SpringAiVectorStoreProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        final Message message = exchange.getMessage();
        final VectorStore vectorStore = getEndpoint().getConfiguration().getVectorStore();

         
        SpringAiVectorStoreOperation operation = message.getHeader(
                SpringAiVectorStoreHeaders.OPERATION,
                getEndpoint().getConfiguration().getOperation(),
                SpringAiVectorStoreOperation.class);

        switch (operation) {
            case ADD:
                processAdd(exchange, vectorStore);
                break;
            case DELETE:
                processDelete(exchange, vectorStore);
                break;
            case SIMILARITY_SEARCH:
                processSimilaritySearch(exchange, vectorStore);
                break;
            default:
                throw new IllegalArgumentException("Unknown operation: " + operation);
        }
    }
Pair #3131 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #3132 Negative (Non-Clone)
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #3133 Negative (Non-Clone)
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
Pair #3134 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #3135 Negative (Non-Clone)
ID: 1499_1348
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16BE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
            }
        }

        return d;
    }
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #3136 Negative (Non-Clone)
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
Pair #3137 Negative (Non-Clone)
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
ID: 3205_2469
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStart()
    protected void doStart() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStart(this);
        }

        super.doStart();

        getCamelContext().start();

        for (MainListener listener : listeners) {
            listener.afterStart(this);
        }
    }
Pair #3138 Negative (Non-Clone)
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
ID: 2532_2107
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key)
    public Optional<Object> newInstance(String key) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<Object> answer = super.newInstance(key);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            Object obj = ResolverHelper.resolveService(camelContext, finder, key, Object.class).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #3139 Negative (Non-Clone)
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #3140 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 3098_2364
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.consumes(String mediaType)
    public RestDefinition consumes(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.consumes = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setConsumes(mediaType);
        }

        return this;
    }
Pair #3141 Negative (Non-Clone)
ID: 2024_1641
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn(
                    "Reply received for unknown correlationID [{}] on reply destination [{}]. Current correlation map size: {}. The message will be ignored: {}",
                    correlationID, replyTo, correlation.size(), message);
        }
    }
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
Pair #3142 Negative (Non-Clone)
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #3143 Negative (Non-Clone)
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #3144 Negative (Non-Clone)
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
Pair #3145 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #3146 Negative (Non-Clone)
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
Pair #3147 Negative (Non-Clone)
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 1433_1294
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseTextPlainEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static TextPlainEntity parseTextPlainEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            String text = parseBodyPartText(inbuffer, is, boundary);
            if (contentTransferEncoding != null) {
                text = EntityUtils.decode(text, charset, contentTransferEncoding);
            }
            return new TextPlainEntity(text, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3148 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #3149 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2554_2121
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestConfiguration(InputStream xml, String fullyQualifiedFileName)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            InputStream xml, String fullyQualifiedFileName) {
         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestConfiguration(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
Pair #3150 Negative (Non-Clone)
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3151 Negative (Non-Clone)
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #3152 Negative (Non-Clone)
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
ID: 910_790
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            UpdateFunctionRequest request = exchange.getIn().getMandatoryBody(UpdateFunctionRequest.class);
            response = client.updateFunctionAsync(request).get();
        } else {
            throw new IllegalArgumentException("updateFunction is supported only in pojo mode");
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #3153 Negative (Non-Clone)
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
ID: 1739_1452
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
Pair #3154 Negative (Non-Clone)
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #3155 Negative (Non-Clone)
ID: 1308_1156
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.run()
        public void run() {
            NonNamespaceOperation<Node, NodeList, Resource<Node>> w = getEndpoint().getKubernetesClient().nodes();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Node, NodeList, Resource<Node>>) w.withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
Pair #3156 Negative (Non-Clone)
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #3157 Negative (Non-Clone)
ID: 1547_1366
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/DeleteOperation.java
Name: org.apache.camel.component.zookeeper.operations.DeleteOperation.getResult()
    public OperationResult<Boolean> getResult() {
        try {
            connection.delete(node, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'", node));
                } else {
                    LOG.debug(format("Set data of node '%s'", node));
                }
            }
            return new OperationResult<>(true, null, true);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 1430_1287
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundEndBoundary;
        try {
            foundEndBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundEndBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundEndBoundary && boundary != null) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #3158 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 2602_2227
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLongOrDefault(final String key, final long defaultValue)
    public Long getLongOrDefault(final String key, final long defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #3159 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #3160 Negative (Non-Clone)
ID: 15_16
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastOperation.java
Name: org.apache.camel.component.hazelcast.HazelcastOperation.getHazelcastOperation(String name)
    public static HazelcastOperation getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastOperation hazelcastOperation : VALUES) {
            if (hazelcastOperation.toString().equalsIgnoreCase(name) || hazelcastOperation.name().equalsIgnoreCase(name)) {
                return hazelcastOperation;
            }
        }
        throw new IllegalArgumentException(String.format("Operation '%s' is not supported by this component.", name));
    }
ID: 768_699
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Custom model ID must be specified");
        }

        LOG.trace("Getting custom language model: {}", modelId);

        com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions options
                = new com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions.Builder()
                        .customizationId(modelId)
                        .build();

        LanguageModel customModel = stt.getLanguageModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #3161 Negative (Non-Clone)
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #3162 Negative (Non-Clone)
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #3163 Negative (Non-Clone)
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 2354_1850
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineInitialDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineInitialDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long initialDelay = exchange.getIn().getHeader(Athena2Constants.INITIAL_DELAY, Long.class);

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = configuration.getInitialDelay();
        }

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = determineDelay(exchange, configuration);
        }

        if (initialDelay < 0) {
            throw new IllegalArgumentException("AWS Athena initial delay must be >= 0");
        }

        return initialDelay;
    }
Pair #3164 Negative (Non-Clone)
ID: 3297_2709
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheckRepository(CamelContext context, String id)
    public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
        HealthCheckRepository answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheckRepository> repo = hcr.getRepository(id);
            if (repo.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheckRepository hr = resolver.resolveHealthCheckRepository(id);
                if (hr != null) {
                    repo = Optional.of(hr);
                    hcr.register(hr);
                }
            }
            if (repo.isPresent()) {
                answer = repo.get();
            }
        }
        return answer;
    }
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
Pair #3165 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #3166 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3167 Negative (Non-Clone)
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3168 Negative (Non-Clone)
ID: 1858_1520
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.loadExistingKeys()
    private void loadExistingKeys() throws Exception {
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        if (keyIds != null) {
            LOG.info("Found {} existing keys in Vault", keyIds.size());

            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        LOG.debug("Loaded existing key from Vault: {}", metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load key from Vault: {}", keyId, e);
                }
            }
        }
    }
ID: 188_195
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.JobsResponseCallback() {
                    @Override
                    public void onResponse(Jobs jobs, Map<String, String> headers, SalesforceException ex) {
                        BulkApiV2Processor.this.processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #3169 Negative (Non-Clone)
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 1498_1343
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePDF(String flavor)
    public DocFlavor forMimeTypePDF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PDF;
        }

        return d;
    }
Pair #3170 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 2271_1793
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createDeleteHandler()
    protected DeleteHandler<Object> createDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, Consumed.class);
            if (methods.size() > 1) {
                throw new IllegalArgumentException(
                        "Only one method can be annotated with the @Consumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }
        if (getEndpoint().isConsumeDelete()) {
            return (EntityManager em, Object entityBean, Exchange exchange) -> em.remove(entityBean);
        }

        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };

    }
Pair #3171 Negative (Non-Clone)
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 1314_1211
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation)
    private void doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation) {
        String jobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobSpec jobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_SPEC, JobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(jobName)) {
            LOG.error("{} a specific job require specify a job name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific job require specify a job name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific job require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(jobSpec)) {
            LOG.error("{} a specific job require specify a job spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a job spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobBuilder jobCreatingBuilder = new JobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).endMetadata()
                    .withSpec(jobSpec);
        } else {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(jobSpec);
        }
        Job job = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespaceName)
                        .resource(jobCreatingBuilder.build()));

        prepareOutboundMessage(exchange, job);
    }
Pair #3172 Negative (Non-Clone)
ID: 1872_1542
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpProducerFactory()
    private KnativeProducerFactory setUpProducerFactory() throws Exception {
        if (producerFactory == null) {
            this.producerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeProducerFactory.class);
            if (this.producerFactory == null) {
                this.producerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-producer", KnativeProducerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeProducerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(producerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.producerFactory, true, true);
            }
            LOGGER.debug("Using Knative producer factory: {} for protocol: {}", producerFactory, protocol.name());
        }

        return producerFactory;
    }
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #3173 Negative (Non-Clone)
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
Pair #3174 Negative (Non-Clone)
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 1194_1020
ClassID: 1194
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object object = lookupByName(name);
        if (object == null) {
            return null;
        }
        try {
            return type.cast(object);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in Consul Registry: " + this + " of type: " + object.getClass().getName()
                         + "expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
Pair #3175 Negative (Non-Clone)
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
Pair #3176 Negative (Non-Clone)
ID: 1557_1377
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.startRobustConnectionMonitor()
    private void startRobustConnectionMonitor() {
        Runnable connectionCheckRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    checkConnection();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the connection poller thread.", e);
                }
            }
        };
         
        getExecutor().scheduleAtFixedRate(connectionCheckRunnable, endpoint.getConnectionPollDelay(),
                endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #3177 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #3178 Negative (Non-Clone)
ID: 3210_2482
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/MessageHistoryDevConsole.java
Name: org.apache.camel.impl.console.MessageHistoryDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
Pair #3179 Negative (Non-Clone)
ID: 1499_1348
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16BE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
            }
        }

        return d;
    }
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3180 Negative (Non-Clone)
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
Pair #3181 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #3182 Negative (Non-Clone)
ID: 103_74
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClient(Keycloak keycloakClient, Exchange exchange)
    private void updateClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).update((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client requires POJO request with ClientRepresentation");
        }
    }
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3183 Negative (Non-Clone)
ID: 445_476
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        consumer.getAsyncProcessor().process(exchange, doneSync -> {
             
            try {
                if (consumer.getConfiguration().isSync()) {
                    sendResponse(ctx, exchange);
                }
            } catch (Exception e) {
                consumer.getExceptionHandler().handleException(e);
            } finally {
                consumer.doneUoW(exchange);
                consumer.releaseExchange(exchange, false);
            }
        });
    }
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #3184 Negative (Non-Clone)
ID: 3266_2631
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(K key, V value)
    public V putIfAbsent(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        if (v != null) {
                            return v;
                        }
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
Pair #3185 Negative (Non-Clone)
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
Pair #3186 Negative (Non-Clone)
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
Pair #3187 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 2272_1794
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.query(final String query)
    public static QueryBuilder query(final String query) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createQuery(query);
            }

            @Override
            public String toString() {
                return "Query: " + query + getParameterDescription();
            }
        };
    }
Pair #3188 Negative (Non-Clone)
ID: 1309_1166
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.eventReceived(Action action, GenericKubernetesResource resource)
                            public void eventReceived(Action action, GenericKubernetesResource resource) {
                                Exchange exchange = createExchange(false);
                                exchange.getIn().setBody(Serialization.asJson(resource));
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_ACTION, action);
                                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CRD_EVENT_TIMESTAMP,
                                        System.currentTimeMillis());
                                try {
                                    processor.process(exchange);
                                } catch (Exception e) {
                                    getExceptionHandler().handleException("Error during processing", exchange, e);
                                } finally {
                                    releaseExchange(exchange, false);
                                }
                            }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #3189 Negative (Non-Clone)
ID: 1063_921
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlVerifierProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlVerifierProcessor.build()
        XmlSignatureChecker.Input build() {
            return new XmlSignatureChecker.Input() {

                @Override
                public boolean isXmlSchemaValidationExecuted() {
                    return xmlSchemaValidationExecuted;
                }

                @Override
                public int getTotalCountOfSignatures() {
                    return totalCountOfSignatures;
                }

                @Override
                public SignedInfo getSignedInfo() {
                    return signedInfo;
                }

                @Override
                public SignatureValue getSignatureValue() {
                    return signatureValue;
                }

                @Override
                public List<? extends XMLObject> getObjects() {
                    return objects;
                }

                @Override
                public Document getMessageBodyDocument() {
                    return messageBodyDocument;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public Element getCurrentSignatureElement() {
                    return currentSignatureElement;
                }

                @Override
                public int getCurrentCountOfSignatures() {
                    return currentCountOfSignatures;
                }
            };
        }
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #3190 Negative (Non-Clone)
ID: 1311_1192
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doListEventsByLabel(Exchange exchange)
    protected void doListEventsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_EVENTS_LABELS, Map.class);
        EventList eventList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get events by labels require specify a labels set");
            throw new IllegalArgumentException("Get events by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().withLabels(labels).list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, eventList.getItems());
    }
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
Pair #3191 Negative (Non-Clone)
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #3192 Negative (Non-Clone)
ID: 1137_976
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestStateProducer.java
Name: org.apache.camel.component.github.producer.PullRequestStateProducer.PullRequestStateProducer(GitHubEndpoint endpoint)
    public PullRequestStateProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }
        initService(commitService);

        state = endpoint.getState();
        targetUrl = endpoint.getTargetUrl();
    }
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #3193 Negative (Non-Clone)
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
ID: 3229_2527
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.uppercaseExpression(final String expression)
    public static Expression uppercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toUpperCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "uppercase(" + expression + ")";
                } else {
                    return "uppercase()";
                }
            }
        };
    }
Pair #3194 Negative (Non-Clone)
ID: 1377_1240
ClassID: 1377
File: systems/camel-java/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/support/SplunkDataReader.java
Name: org.apache.camel.component.splunk.support.SplunkDataReader.nonBlockingSearch(SplunkResultProcessor callback)
    private List<SplunkEvent> nonBlockingSearch(SplunkResultProcessor callback) throws Exception {
        LOG.debug("non block search start");

        JobArgs queryArgs = new JobArgs();
        queryArgs.setExecutionMode(ExecutionMode.NORMAL);
        Calendar startTime = Calendar.getInstance();
        populateArgs(queryArgs, startTime, false);

        List<SplunkEvent> data = runQuery(queryArgs, false, callback);
        lastSuccessfulReadTime = startTime;
        return data;
    }
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #3195 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #3196 Negative (Non-Clone)
ID: 175_149
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
Pair #3197 Negative (Non-Clone)
ID: 766_693
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.synthesize(Exchange exchange)
    private void synthesize(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String text = exchange.getIn().getHeader(WatsonTextToSpeechConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to synthesize must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String accept = exchange.getIn().getHeader(WatsonTextToSpeechConstants.ACCEPT,
                getEndpoint().getConfiguration().getAccept(), String.class);
        String customizationId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.CUSTOMIZATION_ID,
                getEndpoint().getConfiguration().getCustomizationId(), String.class);

        LOG.trace("Synthesizing text with TTS: voice={}, accept={}", voice, accept);

        SynthesizeOptions.Builder builder = new SynthesizeOptions.Builder()
                .text(text)
                .voice(voice)
                .accept(accept);

        if (customizationId != null && !customizationId.isBlank()) {
            builder.customizationId(customizationId);
        }

        SynthesizeOptions options = builder.build();

        InputStream audioStream = tts.synthesize(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(audioStream);
        message.setHeader(WatsonTextToSpeechConstants.VOICE, voice);
        message.setHeader(WatsonTextToSpeechConstants.ACCEPT, accept);
    }
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #3198 Negative (Non-Clone)
ID: 2583_2182
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbTypeVariableImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbTypeVariableImpl.typeVariableEquals(Object object)
        public boolean typeVariableEquals(Object object) {
            if (this == object) {
                return true;
            } else if (object instanceof TypeVariable) {
                TypeVariable<?> that = (TypeVariable<?>) object;
                return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration())
                        && Arrays.equals(bounds, that.getBounds());
            } else {
                return false;
            }

        }
ID: 1430_1287
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundEndBoundary;
        try {
            foundEndBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundEndBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundEndBoundary && boundary != null) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #3199 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 2231_1752
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateTag(String operation)
    protected void doCreateTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tag().setName(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3200 Negative (Non-Clone)
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
Pair #3201 Negative (Non-Clone)
ID: 18_23
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulAgentProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulAgentProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulAgentProducer target = (org.apache.camel.component.consul.endpoint.ConsulAgentProducer) obj;
        switch (key) {
        case "agent":
        case "AGENT": return target.invokeAgent(exchange.getMessage());
        case "checks":
        case "CHECKS": return target.invokeChecks(exchange.getMessage());
        case "deregister":
        case "DEREGISTER": target.invokeDeregister(exchange.getMessage()); return null;
        case "members":
        case "MEMBERS": return target.invokeMembers(exchange.getMessage());
        case "register":
        case "REGISTER": target.invokeRegister(exchange.getMessage()); return null;
        case "services":
        case "SERVICES": return target.invokeServices(exchange.getMessage());
        default: return null;
        }
    }
ID: 1752_1456
ClassID: 1752
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
        }
        return key;
    }
Pair #3202 Negative (Non-Clone)
ID: 1868_1538
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleReconnect()
    protected void scheduleReconnect() {
        Runnable startRunnable = () -> {
            try {
                initNetworkConnection();
                addNotificationListener();
            } catch (Exception e) {
                LOG.warn("Failed to reconnect to JMX server. >> {}", e.getMessage());
                scheduleReconnect();
            }
        };
        LOG.info("Delaying JMX consumer reconnection for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3203 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
Pair #3204 Negative (Non-Clone)
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #3205 Negative (Non-Clone)
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
ID: 348_398
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.createRecord(Exchange exchange)
    private void createRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.POST, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
Pair #3206 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
Pair #3207 Negative (Non-Clone)
ID: 1308_1163
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.run()
        public void run() {
            FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> client
                        = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 3246_2580
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFluentProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean.getObject()
    public FluentProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultFluentProducerTemplate(context);
                template.setDefaultEndpoint(endpoint);
            }
        } else {
            template = new DefaultFluentProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #3208 Negative (Non-Clone)
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
ID: 3224_2513
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createIncExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createIncExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val++;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #3209 Negative (Non-Clone)
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
Pair #3210 Negative (Non-Clone)
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #3211 Negative (Non-Clone)
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3212 Negative (Non-Clone)
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
Pair #3213 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
Pair #3214 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #3215 Negative (Non-Clone)
ID: 511_528
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterDestinationFactories(DestinationFactoryManager dfm)
    private void unregisterDestinationFactories(DestinationFactoryManager dfm) {
        for (String ns : getTransportIds()) {
            try {
                if (dfm.getDestinationFactory(ns) == this) {
                    dfm.deregisterDestinationFactory(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #3216 Negative (Non-Clone)
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
ID: 3276_2655
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isInstanceOf(final Expression expression, final Class<?> type)
    public static Predicate isInstanceOf(final Expression expression, final Class<?> type) {
        notNull(expression, "expression");
        notNull(type, "type");

        return new Predicate() {
            public boolean matches(Exchange exchange) {
                Object value = expression.evaluate(exchange, Object.class);
                return type.isInstance(value);
            }

            @Override
            public void init(CamelContext camelContext) {
                expression.init(camelContext);
            }

            @Override
            public String toString() {
                return expression + " instanceof " + type.getCanonicalName();
            }
        };
    }
Pair #3217 Negative (Non-Clone)
ID: 2611_2250
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(TransformerModel model)
    public static JsonObject asJsonObject(TransformerModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("from", model.getFrom());
        obj.put("to", model.getTo());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("transformer", obj);
        return wrapper;
    }
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3218 Negative (Non-Clone)
ID: 3230_2538
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsoluteExpression()
    public static Expression fileAbsoluteExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolute", Boolean.class);
            }

            @Override
            public String toString() {
                return "file:absolute";
            }
        };
    }
ID: 2231_1751
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteTag(String operation)
    protected void doDeleteTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tagDelete().setTags(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3219 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 406_437
ClassID: 406
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
Name: org.apache.camel.component.couchbase.CouchbaseEndpoint.CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component)
    public CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component) throws URISyntaxException {
        super(uri, component);
        URI remainingUri = new URI(remaining);

        protocol = remainingUri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }

        port = remainingUri.getPort() == -1 ? DEFAULT_COUCHBASE_PORT : remainingUri.getPort();

        hostname = remainingUri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }
    }
Pair #3220 Negative (Non-Clone)
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #3221 Negative (Non-Clone)
ID: 2648_2307
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onDataFormatCreated(String name, DataFormat dataFormat)
    public void onDataFormatCreated(String name, DataFormat dataFormat) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<DataFormatCustomizer.Policy> filters = registry.findByType(DataFormatCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, dataFormat))) {
            registry.findByType(DataFormatCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, dataFormat))
                    .forEach(customizer -> customizer.configure(name, dataFormat));
        }
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #3222 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
Pair #3223 Negative (Non-Clone)
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
ID: 1547_1365
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/SetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.SetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = connection.setData(node, data, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'  with '%d' bytes of data, retrieved statistics '%s' ",
                            node, data != null ? data.length : 0, statistics));
                } else {
                    LOG.debug(format("Set data of node '%s' with '%d' bytes of data", node, data != null ? data.length : 0));
                }
            }
            return new OperationResult<>(data, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #3224 Negative (Non-Clone)
ID: 51_64
ClassID: 51
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
Name: org.apache.camel.component.file.remote.SftpOperations.forceDisconnect()
    public void forceDisconnect() throws GenericFileOperationFailedException {
        lock.lock();
        try {
            if (session != null) {
                session.disconnect();
            }
            if (channel != null) {
                channel.disconnect();
            }
        } finally {
             
            session = null;
            channel = null;
            lock.unlock();
        }
    }
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
Pair #3225 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 1557_1377
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.startRobustConnectionMonitor()
    private void startRobustConnectionMonitor() {
        Runnable connectionCheckRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    checkConnection();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the connection poller thread.", e);
                }
            }
        };
         
        getExecutor().scheduleAtFixedRate(connectionCheckRunnable, endpoint.getConnectionPollDelay(),
                endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #3226 Negative (Non-Clone)
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #3227 Negative (Non-Clone)
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 2455_1952
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        String context = readResourceTemplate("templates/spring-boot-build-gradle.tmpl");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        String camelVersion = catalog.getLoadedVersion();

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceFirst("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceFirst("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElse(camelSpringBootVersion, camelVersion));

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(am.getVersion());
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(gradleBuild));
    }
Pair #3228 Negative (Non-Clone)
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #3229 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #3230 Negative (Non-Clone)
ID: 681_612
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #3231 Negative (Non-Clone)
ID: 2492_2042
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureProperties(Traits traitsSpec, String[] properties)
    public static void configureProperties(Traits traitsSpec, String[] properties) {
        if (properties == null || properties.length == 0) {
            return;
        }

        Camel camelTrait = Optional.ofNullable(traitsSpec.getCamel()).orElseGet(Camel::new);
        if (camelTrait.getProperties() == null) {
            camelTrait.setProperties(new ArrayList<>());
        }
        camelTrait.getProperties().addAll(List.of(properties));
        traitsSpec.setCamel(camelTrait);
    }
ID: 1958_1598
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

         
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVectorId(topK, indexId, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
Pair #3232 Negative (Non-Clone)
ID: 444_470
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
             
            DatagramPacket dp = new DatagramPacket(payload.retain(), msg.recipient());
            out.add(dp);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #3233 Negative (Non-Clone)
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #3234 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 2470_1996
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #3235 Negative (Non-Clone)
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
Pair #3236 Negative (Non-Clone)
ID: 975_822
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredJdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version, true);

                } catch (Exception e) {
                    throw new RuntimeException(
                            "Error removing key " + correlationId + " from repository " + getRepositoryName(), e);
                }
            }
        });
    }
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
Pair #3237 Negative (Non-Clone)
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3238 Negative (Non-Clone)
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1498_1340
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeGIF(String flavor)
    public DocFlavor forMimeTypeGIF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.GIF;
        }

        return d;
    }
Pair #3239 Negative (Non-Clone)
ID: 2507_2057
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf)
    protected static AnnotationSpec yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }
        if (!Strings.isNullOrEmpty(oneOf)) {
            builder.addMember("oneOf", "$S", oneOf);
        }

        return builder.build();
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #3240 Negative (Non-Clone)
ID: 2580_2176
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadEipJson(File file)
    private static String loadEipJson(File file) {
        try {
            String json = PackageHelper.loadText(file);
            if ("model".equals(PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 1859_1521
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
Pair #3241 Negative (Non-Clone)
ID: 2325_1830
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
ID: 2440_1916
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugSpringBoot(KameletMain main)
    private int doRunDebugSpringBoot(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-debug-starter");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-cli-connector-starter");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId("org.springframework.boot");
            pi.setArtifactId("spring-boot-maven-plugin");
            pi.setVersion("${spring-boot-version}");
            PluginExecution pe = new PluginExecution();
            pe.addGoal("repackage");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Spring Boot for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "spring-boot:repackage");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        loggingColor ? "-Dspring.output.ansi.enabled=ALWAYS" : "-Dspring.output.ansi.enabled=NEVER",
                        "-jar", "target/camel-jbang-debug.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Spring Boot integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Spring Boot for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #3242 Negative (Non-Clone)
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #3243 Negative (Non-Clone)
ID: 1739_1452
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
ID: 1449_1306
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unidentifiedRecord(UnidentifiedRecordException ex)
    public void unidentifiedRecord(UnidentifiedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnidentifiedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnidentifiedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
Pair #3244 Negative (Non-Clone)
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
Pair #3245 Negative (Non-Clone)
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
ID: 2178_1714
ClassID: 2178
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/ManagementHttpServer.java
Name: org.apache.camel.component.platform.http.main.ManagementHttpServer.extractState(int status)
            private String extractState(int status) {
                if (status <= 4) {
                    return "Starting";
                } else if (status == 5) {
                    return "Running";
                } else if (status == 6) {
                    return "Suspending";
                } else if (status == 7) {
                    return "Suspended";
                } else if (status == 8) {
                    return "Terminating";
                } else if (status == 9) {
                    return "Terminated";
                } else {
                    return "Terminated";
                }
            }
Pair #3246 Negative (Non-Clone)
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #3247 Negative (Non-Clone)
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3248 Negative (Non-Clone)
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
ID: 3174_2447
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpStepStatsAsXml(boolean fullStats)
    public String dumpStepStatsAsXml(boolean fullStats) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> steps = new ArrayList<>();
             
            query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=steps,*");
            Set<ObjectName> names = server.queryNames(query, null);
            for (ObjectName on : names) {
                ManagedStepMBean step
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
                steps.add(step);
            }
            steps.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                sb.append("      <stepStats>\n");
                for (ManagedProcessorMBean step : steps) {
                     
                    if (route.getRouteId().equals(step.getRouteId())) {
                        int line = step.getSourceLineNumber() != null ? step.getSourceLineNumber() : -1;
                        sb.append("        <stepStat")
                                .append(String.format(
                                        " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                        step.getProcessorId(), step.getIndex(), step.getState(), step.getDisabled(), line));
                         
                        stat = step.dumpStatsAsXml(fullStats);
                        sb.append(" exchangesInflight=\"").append(step.getExchangesInflight()).append("\"");
                        sb.append(" ").append(stat, 7, stat.length()).append("\n");
                    }
                    sb.append("      </stepStats>\n");
                }
                sb.append("    </stepStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
Pair #3249 Negative (Non-Clone)
ID: 981_838
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InOutParameter()
  final public InOutParameter InOutParameter() throws ParseException {Token sqlTypeToken;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
     String outValueMapKey;
    jj_consume_token(3);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[8] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[9] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
    jj_consume_token(1);
    outValueMapKey = OutHeader();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InOutParameter(sqlType, valueSrcToken, scale, typeName, outValueMapKey);}
    throw new Error("Missing return statement in function");
}
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
Pair #3250 Negative (Non-Clone)
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3251 Negative (Non-Clone)
ID: 2458_1957
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyMavenWrapper()
    protected void copyMavenWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, ".mvn/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path mvnwPath = Paths.get(BUILD_DIR, "mvnw");
        Path mvnwCmdPath = Paths.get(BUILD_DIR, "mvnw.cmd");
        Path wrapperJarPath = wrapperPath.resolve("maven-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("maven-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw")) {
            Files.copy(is, mvnwPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw.cmd")) {
            Files.copy(is, mvnwCmdPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(mvnwPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(mvnwCmdPath, "rwxr-xr-x");
    }
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #3252 Negative (Non-Clone)
ID: 2577_2167
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeComponent()
    private void executeComponent() throws MojoExecutionException {
         
        final String kind = "component";
        List<String> componentNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!componentNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + componentNames.size() + " components");
            }

            for (String componentName : componentNames) {
                String json = loadJsonFrom(jsonFiles, kind, componentName);
                if (json != null) {
                     
                    componentName = asComponentName(componentName);

                    File file = new File(componentDocDir, componentName + "-" + kind + ".adoc");
                    boolean exists = file.exists();

                    ComponentModel model = generateComponentModel(json);
                    String title = asComponentTitle(model.getScheme(), model.getTitle());
                    model.setTitle(title);

                    boolean updated = updateHeader(componentName, file, model, " Component");

                    checkComponentHeader(file);
                    checkSince(file);

                    String options = evaluateTemplate("component-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No component doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
Pair #3253 Negative (Non-Clone)
ID: 1131_970
ClassID: 1131
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.getConsumer(String key, boolean block, long timeout)
    protected KameletConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            KameletConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 3336_2737
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Method method, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Method method, String fqnAnnotationName, String key) {
        for (Annotation ann : method.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #3254 Negative (Non-Clone)
ID: 2436_1908
ClassID: 2436
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/XmlHelper.java
Name: org.apache.camel.dsl.jbang.core.common.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #3255 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 1240_1066
ClassID: 1240
File: systems/camel-java/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaConverterLoader.java
Name: org.apache.camel.component.mina.MinaConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toByteArray((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toInputStream((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.ObjectInput.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toObjectInput((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toString((org.apache.mina.core.buffer.IoBuffer) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, org.apache.camel.StreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((org.apache.camel.StreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3256 Negative (Non-Clone)
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 486_516
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
Name: org.apache.camel.component.cxf.converter.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
Pair #3257 Negative (Non-Clone)
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
Pair #3258 Negative (Non-Clone)
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 2611_2249
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(PojoBeanModel model)
    public static JsonObject asJsonObject(PojoBeanModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("bean", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
Pair #3259 Negative (Non-Clone)
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2453_1947
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getType(Object kamelet)
    private static String getType(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getLabels");
        @SuppressWarnings("unchecked")
        Map<String, String> labels = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (labels != null) {
            return labels.get("camel.apache.org/kamelet.type");
        }
        return null;
    }
Pair #3260 Negative (Non-Clone)
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
ID: 2577_2168
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeDataFormat()
    private void executeDataFormat() throws MojoExecutionException {
         
        final String kind = "dataformat";
        List<String> dataFormatNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!dataFormatNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + dataFormatNames.size() + " dataformats");
            }

            for (String dataFormatName : dataFormatNames) {
                String json = loadJsonFrom(jsonFiles, kind, dataFormatName);
                if (json != null) {
                     
                    dataFormatName = asDataFormatName(dataFormatName);

                    File file = new File(dataformatDocDir, dataFormatName + "-" + kind + ".adoc");

                    DataFormatModel model = generateDataFormatModel(json);
                     
                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        model.getOptions().stream().filter(o -> "type".equals(o.getName()))
                                .forEach(o -> o.setDefaultValue(null));
                    }

                    String title = asDataFormatTitle(model.getName(), model.getTitle());
                    model.setTitle(title);

                    boolean exists = file.exists();
                    boolean updated = updateHeader(dataFormatName, file, model, " DataFormat");
                    checkSince(file);

                    String options = evaluateTemplate("dataformat-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        updated |= updateAnnotationsIn(file);
                    }

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No dataformat doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }

                }
            }
        }
    }
Pair #3261 Negative (Non-Clone)
ID: 2326_1833
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
Name: org.apache.camel.component.aws2.timestream.query.Timestream2QueryEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
Pair #3262 Negative (Non-Clone)
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
ID: 1957_1595
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.fetch(Exchange exchange)
    private void fetch(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        FetchResponse result
                = index.fetch(elements);

        populateFetchResponse(result, exchange);
    }
Pair #3263 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #3264 Negative (Non-Clone)
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
ID: 879_732
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
Pair #3265 Negative (Non-Clone)
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #3266 Negative (Non-Clone)
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 901_774
ClassID: 901
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.getEndpointConfiguration(GoogleSheetsApiName apiName)
    public GoogleSheetsConfiguration getEndpointConfiguration(GoogleSheetsApiName apiName) {
        GoogleSheetsConfiguration result = null;
        switch (apiName) {
            case SPREADSHEETS:
                result = new SheetsSpreadsheetsEndpointConfiguration();
                break;
            case DATA:
                result = new SheetsSpreadsheetsValuesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3267 Negative (Non-Clone)
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #3268 Negative (Non-Clone)
ID: 3112_2400
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.replace()
    public ProcessorDefinition<?> replace() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 187_184
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case GET_BATCH:
                    processGetBatch(exchange, callback);
                    break;
                case GET_ALL_BATCHES:
                    processGetAllBatches(exchange, callback);
                    break;
                case GET_REQUEST:
                    processGetRequest(exchange, callback);
                    break;
                case GET_RESULTS:
                    processGetResults(exchange, callback);
                    break;
                case CREATE_BATCH_QUERY:
                    processCreateBatchQuery(exchange, callback);
                    break;
                case GET_QUERY_RESULT_IDS:
                    processGetQueryResultIds(exchange, callback);
                    break;
                case GET_QUERY_RESULT:
                    processGetQueryResult(exchange, callback);
                    break;
                default:
                    throw new SalesforceException("Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(), e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(), e.getMessage()), e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
Pair #3269 Negative (Non-Clone)
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3270 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #3271 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #3272 Negative (Non-Clone)
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #3273 Negative (Non-Clone)
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #3274 Negative (Non-Clone)
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
Pair #3275 Negative (Non-Clone)
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #3276 Negative (Non-Clone)
ID: 1130_963
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.removeConsumer(String key, DirectConsumer consumer)
    public void removeConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #3277 Negative (Non-Clone)
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3278 Negative (Non-Clone)
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3279 Negative (Non-Clone)
ID: 1240_1066
ClassID: 1240
File: systems/camel-java/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaConverterLoader.java
Name: org.apache.camel.component.mina.MinaConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toByteArray((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toInputStream((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.ObjectInput.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toObjectInput((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toString((org.apache.mina.core.buffer.IoBuffer) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, org.apache.camel.StreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((org.apache.camel.StreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #3280 Negative (Non-Clone)
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #3281 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #3282 Negative (Non-Clone)
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #3283 Negative (Non-Clone)
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
Pair #3284 Negative (Non-Clone)
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #3285 Negative (Non-Clone)
ID: 2512_2067
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(MarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(MarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #3286 Negative (Non-Clone)
ID: 18_20
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer target = (org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer) obj;
        switch (key) {
        case "delete_key":
        case "DELETE_KEY": target.deleteKey(exchange.getMessage()); return null;
        case "delete_keys":
        case "DELETE_KEYS": target.deleteKeys(exchange.getMessage()); return null;
        case "get_keys":
        case "GET_KEYS": target.getKeys(exchange.getMessage()); return null;
        case "get_sessions":
        case "GET_SESSIONS": target.getSessions(exchange.getMessage()); return null;
        case "get_value":
        case "GET_VALUE": target.getValue(exchange.getMessage()); return null;
        case "get_values":
        case "GET_VALUES": target.getValues(exchange.getMessage()); return null;
        case "lock":
        case "LOCK": target.lock(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.put(exchange.getMessage()); return null;
        case "unlock":
        case "UNLOCK": target.unlock(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3287 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #3288 Negative (Non-Clone)
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #3289 Negative (Non-Clone)
ID: 2043_1651
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyCommit(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {
        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
             
            if (key != null) {
                 
                if (endpoint.isIdempotentEager()) {
                    endpoint.getIdempotentRepository().confirm(key);
                } else {
                    endpoint.getIdempotentRepository().add(key);
                }
            }
        }

        handleDoneFile(exchange);

        try {
            LOG.trace("Commit file strategy: {} for file: {}", processStrategy, file);
            processStrategy.commit(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during commit", exchange, e);
        }
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3290 Negative (Non-Clone)
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
Pair #3291 Negative (Non-Clone)
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3292 Negative (Non-Clone)
ID: 2244_1765
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
Pair #3293 Negative (Non-Clone)
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
Pair #3294 Negative (Non-Clone)
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
Pair #3295 Negative (Non-Clone)
ID: 899_767
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java
Name: org.apache.camel.component.google.mail.GoogleMailProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #3296 Negative (Non-Clone)
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #3297 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #3298 Negative (Non-Clone)
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
ID: 923_797
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubLiteEndpoint endpoint = (GooglePubsubLiteEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/locations/%s/topics/%s", endpoint.getProjectId(), endpoint.getLocation(),
                endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getMessage().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);
        Map<String, String> attributes = exchange.getMessage().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
        String orderingKey = exchange.getMessage().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getMessage().setHeader(GooglePubsubLiteConstants.MESSAGE_ID, messageIdFuture.get());
    }
Pair #3299 Negative (Non-Clone)
ID: 2302_1824
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getClient(final Kinesis2Endpoint endpoint)
    public KinesisClient getClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisClient)) {
                kinesisClient = endpoint.getConfiguration().getAmazonKinesisClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisClient()
                        : KinesisClientFactory.getKinesisClient(endpoint.getConfiguration());
            }
            return kinesisClient;
        } finally {
            lock.unlock();
        }
    }
ID: 1807_1483
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeKillContainerRequest(DockerClient client, Message message)
    private KillContainerCmd executeKillContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Kill Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        KillContainerCmd killContainerCmd = client.killContainerCmd(containerId);

        String signal = DockerHelper.getProperty(DockerConstants.DOCKER_SIGNAL, configuration, message, String.class);

        if (signal != null) {
            killContainerCmd.withSignal(signal);
        }

        return killContainerCmd;

    }
Pair #3300 Negative (Non-Clone)
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
Pair #3301 Negative (Non-Clone)
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #3302 Negative (Non-Clone)
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3303 Negative (Non-Clone)
ID: 2441_1919
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #3304 Negative (Non-Clone)
ID: 834_713
ClassID: 834
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanStart()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
Pair #3305 Negative (Non-Clone)
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
Pair #3306 Negative (Non-Clone)
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
Pair #3307 Negative (Non-Clone)
ID: 1859_1522
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 3264_2624
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint)
    public Exchange receive(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #3308 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
Pair #3309 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #3310 Negative (Non-Clone)
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
Pair #3311 Negative (Non-Clone)
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
ID: 2650_2311
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.predecessor(E e)
    public E predecessor(E e) {
        E elem = lower(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().predecessor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #3312 Negative (Non-Clone)
ID: 3212_2488
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max)
    private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

         
        includeProcessorsJSon(getCamelContext(), arr, max, mps);
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3313 Negative (Non-Clone)
ID: 3099_2373
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientRequestValidation(boolean clientRequestValidation)
    public RestDefinition clientRequestValidation(boolean clientRequestValidation) {
        if (getVerbs().isEmpty()) {
            this.clientRequestValidation = Boolean.toString(clientRequestValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientRequestValidation(Boolean.toString(clientRequestValidation));
        }

        return this;
    }
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
Pair #3314 Negative (Non-Clone)
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
ID: 1232_1057
ClassID: 1232
File: systems/camel-java/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssComponent.java
Name: org.apache.camel.component.rss.RssComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        RssEndpoint rss = (RssEndpoint) endpoint;
        if (rss.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            Map<String, Object> options = new LinkedHashMap<>(parameters);
            String query = URISupport.createQueryString(options);
            feedUri = remaining + "?" + query;
        } else {
            feedUri = remaining;
        }

        rss.setFeedUri(feedUri);
    }
Pair #3315 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 3298_2710
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/ConfigurationPropertiesValidationResult.java
Name: org.apache.camel.catalog.ConfigurationPropertiesValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }
        if (invalidMap != null) {
            for (Map.Entry<String, String> entry : invalidMap.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty map key/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid map key/value: " + entry.getValue());
                }
            }
        }
        if (invalidArray != null) {
            for (Map.Entry<String, String> entry : invalidArray.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty array index/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid array index/value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder();
        if (includeHeader) {
            sb.append("Configuration properties error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (text != null) {
            sb.append("\t").append(text).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, shortKey(option.getKey()), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
Pair #3316 Negative (Non-Clone)
ID: 922_794
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
Pair #3317 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3318 Negative (Non-Clone)
ID: 3165_2425
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
Name: org.apache.camel.management.mbean.ManagedEndpointRegistry.listEndpoints()
    public TabularData listEndpoints() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listEndpointsTabularType());
            Collection<Endpoint> endpoints = endpointRegistry.values();
            for (Endpoint endpoint : endpoints) {
                CompositeType ct = CamelOpenMBeanTypes.listEndpointsCompositeType();
                String url = endpoint.getEndpointUri();
                if (sanitize) {
                    url = URISupport.sanitizeUri(url);
                }

                boolean fromStatic = endpointRegistry.isStatic(url);
                boolean fromDynamic = endpointRegistry.isDynamic(url);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "url", "static", "dynamic" }, new Object[] { url, fromStatic, fromDynamic });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #3319 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2574_2160
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #3320 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
Pair #3321 Negative (Non-Clone)
ID: 2363_1857
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode usage = node.get("usage");
            if (usage != null) {
                JsonNode outputTokens = usage.get("output_tokens");
                return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
            }
        }
        return null;
    }
ID: 2228_1744
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitTagConsumer.java
Name: org.apache.camel.component.git.consumer.GitTagConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().tagList().call();
        for (Ref ref : call) {
            if (!tagsConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
Pair #3322 Negative (Non-Clone)
ID: 180_168
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request)
    private void doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
        });
    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #3323 Negative (Non-Clone)
ID: 930_806
ClassID: 930
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.determineOperation(Exchange exchange)
    private GoogleVertexAIOperations determineOperation(Exchange exchange) {
        GoogleVertexAIOperations operation
                = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, GoogleVertexAIOperations.class);
        if (operation == null) {
            String operationString = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, String.class);
            if (operationString != null) {
                operation = GoogleVertexAIOperations.valueOf(operationString);
            }
        }
        return operation;
    }
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
Pair #3324 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 172_130
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeOperation(OperationName operationName)
    private static boolean isCompositeOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE:
            case COMPOSITE_BATCH:
            case COMPOSITE_TREE:
                return true;
            default:
                return false;
        }
    }
Pair #3325 Negative (Non-Clone)
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #3326 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #3327 Negative (Non-Clone)
ID: 2372_1867
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteTranscriptionJobRequest) {
                try {
                    transcribeClient.deleteTranscriptionJob((DeleteTranscriptionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteTranscriptionJobRequest.Builder builder = DeleteTranscriptionJobRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME))) {
                String jobName = exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME, String.class);
                builder.transcriptionJobName(jobName);
            }
            try {
                transcribeClient.deleteTranscriptionJob(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #3328 Negative (Non-Clone)
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #3329 Negative (Non-Clone)
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 1426_1276
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt, CMSEnvelopedDataGenerator dataGenerator, OutputEncryptor encryptor, String encryptedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt,
                                                   CMSEnvelopedDataGenerator dataGenerator,
                                                   OutputEncryptor encryptor,
                                                   String encryptedContentTransferEncoding,
                                                   boolean isMainBody)
                                                                       throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "enveloped-data"),
                new BasicNameValuePair("name", "smime.p7m")),
              encryptedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.encryptedData = createEncryptedData(entity2Encrypt, dataGenerator, encryptor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #3330 Negative (Non-Clone)
ID: 229_273
ClassID: 229
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.smb.strategy.SmbChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file,
            Exchange exchange) {

        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("smb-acquire-exclusive-read-lock")
                .build();

        SmbExclusiveReadLockCheck exclusiveReadLockCheck = new SmbExclusiveReadLockCheck(minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }
        return true;
    }
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #3331 Negative (Non-Clone)
ID: 2603_2228
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getCollectionOrDefault(final String key, final T defaultValue)
    public <T extends Collection<?>> T getCollectionOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        return (T) returnable;
    }
ID: 3176_2451
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchemaFactory()
    public SchemaFactory getSchemaFactory() {
        if (schemaFactory == null) {
            lock.lock();
            try {
                if (schemaFactory == null) {
                    schemaFactory = createSchemaFactory();
                }
            } finally {
                lock.unlock();
            }
        }
        return schemaFactory;
    }
Pair #3332 Negative (Non-Clone)
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 2453_1948
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getSupportLevel(Object kamelet)
    private static String getSupportLevel(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getAnnotations");
        @SuppressWarnings("unchecked")
        Map<String, String> anns = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (anns != null) {
            return anns.get("camel.apache.org/kamelet.support.level");
        }
        return null;
    }
Pair #3333 Negative (Non-Clone)
ID: 1905_1568
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedHeadersMDC(Exchange exchange, boolean push)
    private void userSelectedHeadersMDC(Exchange exchange, boolean push) {
        for (String customHeader : getCustomHeaders().split(",")) {
            if (exchange.getIn().getHeader(customHeader) != null) {
                if (push) {
                    MDC.put(customHeader, exchange.getIn().getHeader(customHeader, String.class));
                } else {
                    MDC.remove(customHeader);
                }
            }
        }
    }
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
Pair #3334 Negative (Non-Clone)
ID: 909_787
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateDownloadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateDownloadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateDownloadUrlRequest.class);
            response = client.generateDownloadUrl(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            GenerateDownloadUrlRequest request = GenerateDownloadUrlRequest.newBuilder().setName(cfName.toString())
                    .build();
            response = client.generateDownloadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getDownloadUrl());
    }
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3335 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #3336 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 558_540
ClassID: 558
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Name: org.apache.camel.management.DefaultManagementAgent.unregister(ObjectName name)
    public void unregister(ObjectName name) throws JMException {
        if (isRegistered(name)) {
            ObjectName on = mbeansRegistered.remove(name);
            server.unregisterMBean(on);
            LOG.debug("Unregistered MBean with ObjectName: {}", name);
        } else {
            mbeansRegistered.remove(name);
        }
    }
Pair #3337 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #3338 Negative (Non-Clone)
ID: 2250_1781
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemoveAsync(Message message)
    public void onRemoveAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> resultRemoveAsyncKey;
        final CompletableFuture<Boolean> resultRemoveAsyncKeyValue;

        if (ObjectHelper.isEmpty(value)) {
            resultRemoveAsyncKey = cache.removeAsync(key);
            setResult(message, resultRemoveAsyncKey);
        } else {
            resultRemoveAsyncKeyValue = cache.removeAsync(key, value);
            setResult(message, resultRemoveAsyncKeyValue);
        }
    }
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #3339 Negative (Non-Clone)
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #3340 Negative (Non-Clone)
ID: 1540_1358
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) {
        LOG.trace("toCamelMessage: {}", response);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(response.getHttpResponse(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(response.getInputStream());
        return answer;
    }
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
Pair #3341 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 248_321
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubConsumerAsyncClient createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .consumerGroup(configuration.getConsumerGroupName())
                .prefetchCount(configuration.getPrefetchCount())
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncConsumerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncConsumerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncConsumerClient();
    }
Pair #3342 Negative (Non-Clone)
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #3343 Negative (Non-Clone)
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 1402_1249
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.createReplaceSmTempate(Exchange exchange)
    protected ReplaceSm createReplaceSmTempate(Exchange exchange) {
        Message in = exchange.getIn();
        ReplaceSm replaceSm = new ReplaceSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            replaceSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            replaceSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            replaceSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            replaceSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            replaceSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            replaceSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            replaceSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
            replaceSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, Byte.class));
        } else {
            replaceSm.setRegisteredDelivery(config.getRegisteredDelivery());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            replaceSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                replaceSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                replaceSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        return replaceSm;
    }
Pair #3344 Negative (Non-Clone)
ID: 2463_1971
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.readTraceFiles(Map<Long, Pid> pids)
    private int readTraceFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getTraceFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 485_514
ClassID: 485
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
Name: org.apache.camel.catalog.DefaultVersionManager.getResourceAsStream(String name)
    public InputStream getResourceAsStream(String name) {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(name);
        }
        if (is == null) {
            is = DefaultCamelCatalog.class.getClassLoader().getResourceAsStream(name);
        }
        return is;
    }
Pair #3345 Negative (Non-Clone)
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 1319_1225
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("secret");
        if (pf instanceof SecretPropertiesFunction) {
            propertiesFunction = (SecretPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        secrets = camelContext.getVaultConfiguration().kubernetes().getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Kubernetes vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #3346 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
Pair #3347 Negative (Non-Clone)
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
Pair #3348 Negative (Non-Clone)
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
ID: 1893_1565
ClassID: 1893
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.parseArguments(String[] arguments)
    public void parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            initOptions();
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }
        if (!valid) {
            showOptions();
            completed();
        }
    }
Pair #3349 Negative (Non-Clone)
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #3350 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 1401_1247
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        byte[] message = getShortMessage(exchange.getIn());

        ReplaceSm replaceSm = createReplaceSmTempate(exchange);
        replaceSm.setShortMessage(message);

        if (log.isDebugEnabled()) {
            log.debug("Sending replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        try {
            session.replaceShortMessage(
                    replaceSm.getMessageId(),
                    TypeOfNumber.valueOf(replaceSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(replaceSm.getSourceAddrNpi()),
                    replaceSm.getSourceAddr(),
                    replaceSm.getScheduleDeliveryTime(),
                    replaceSm.getValidityPeriod(),
                    new RegisteredDelivery(replaceSm.getRegisteredDelivery()),
                    replaceSm.getSmDefaultMsgId(),
                    replaceSm.getShortMessage());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Sent replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        Message rspMsg = ExchangeHelper.getResultMessage(exchange);
        rspMsg.setHeader(SmppConstants.ID, replaceSm.getMessageId());
    }
Pair #3351 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 1036_891
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removePrefixPath(final String path)
    public PathHandler removePrefixPath(final String path) {
        lock.lock();
        try {
            super.removePrefixPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #3352 Negative (Non-Clone)
ID: 3230_2534
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionSingleExpression()
    public static Expression fileOnlyNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext.single";
            }
        };
    }
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
Pair #3353 Negative (Non-Clone)
ID: 2364_1862
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createChunksHandler(String modelId, StreamMetadata metadata, List<String> chunks, Consumer<String> chunkConsumer)
    public static InvokeModelWithResponseStreamResponseHandler createChunksHandler(
            String modelId,
            StreamMetadata metadata,
            List<String> chunks,
            Consumer<String> chunkConsumer) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);

                                if (text != null && !text.isEmpty()) {
                                    chunks.add(text);
                                    if (chunkConsumer != null) {
                                        chunkConsumer.accept(text);
                                    }
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setChunks(chunks);
                })
                .build();
    }
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #3354 Negative (Non-Clone)
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #3355 Negative (Non-Clone)
ID: 1160_991
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.to(String uri, Object data)
    public Publisher<Exchange> to(String uri, Object data) {
        requestedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from("reactive-streams:" + uuid)
                                .to(u);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create requested reactive stream from direct URI: " + uri, e);
            }
        });
        return toStream(requestedUriToStream.get(uri), data);
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #3356 Negative (Non-Clone)
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3357 Negative (Non-Clone)
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3358 Negative (Non-Clone)
ID: 3232_2549
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeExceptionOgnlExpression(final String ognl)
    public static Expression exchangeExceptionOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object exception = exchange.getException();
                if (exception == null) {
                    exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Exception.class);
                }

                if (exception == null) {
                    return null;
                }

                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exception, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeExceptionOgnl(" + ognl + ")";
            }
        };
    }
ID: 1887_1557
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
Pair #3359 Negative (Non-Clone)
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 1195_1022
ClassID: 1195
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> result = new HashMap<>();
         
        String keyPrefix = type.getName().replace('$', '/');
        kvClient = consul.keyValueClient();

        List<String> keys;
        try {
            keys = kvClient.getKeys(keyPrefix);
        } catch (ConsulException e) {
            return result;
        }

        if (keys != null) {
            Object obj;

            for (String key : keys) {
                 
                key = key.substring(key.lastIndexOf('/') + 1);
                obj = lookupByName(key.replace('$', '/'));
                if (type.isInstance(obj)) {
                    result.put(key, type.cast(obj));
                }
            }
        }
        return result;
    }
Pair #3360 Negative (Non-Clone)
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #3361 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
Pair #3362 Negative (Non-Clone)
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 2211_1737
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.failJob(JobRequest message)
    public JobResponse failJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.FailJobRequest.Builder builder = GatewayOuterClass.FailJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            builder = builder.setErrorMessage(message.getFailMessage());
            GatewayOuterClass.FailJobRequest request = builder.build();
            GatewayOuterClass.FailJobResponse failJobResponse = stub.failJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3363 Negative (Non-Clone)
ID: 2042_1650
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getDirectoryPermissions()
    public Set<PosixFilePermission> getDirectoryPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmodDirectory)) {
            return permissions;
        }

         
        String chmodString = chmodDirectory.substring(chmodDirectory.length() - 3);

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 1311_1189
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doListHPAByLabel(Exchange exchange)
    protected void doListHPAByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get HPA by labels require specify a labels set");
            throw new IllegalArgumentException("Get HPA by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace()
                    .withLabels(labels).list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
Pair #3364 Negative (Non-Clone)
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
Pair #3365 Negative (Non-Clone)
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #3366 Negative (Non-Clone)
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
ID: 2667_2351
ClassID: 2667
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
Name: org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.shouldFailOver(Exchange exchange)
    protected boolean shouldFailOver(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (exceptions == null || exceptions.isEmpty()) {
                 
                answer = true;
            } else {
                for (Class<?> exception : exceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }

            if (answer) {
                 
                statistics.onHandledFailure(exchange.getException());
            }
        }

        if (LOG.isTraceEnabled()) {
            LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
        }

        return answer;
    }
Pair #3367 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
Pair #3368 Negative (Non-Clone)
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #3369 Negative (Non-Clone)
ID: 3098_2365
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.description(String description)
    public RestDefinition description(String description) {
        if (getVerbs().isEmpty()) {
            super.description(description);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.description(description);
        }

        return this;
    }
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #3370 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #3371 Negative (Non-Clone)
ID: 1254_1095
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveLogger(DefaultErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(DefaultErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DefaultErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
Pair #3372 Negative (Non-Clone)
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
Pair #3373 Negative (Non-Clone)
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
ID: 1860_1524
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildDataPath(String secretPath)
    private String buildDataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/data/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/data/" + secretPath;
            } else {
                return secretsEngine + "/data/" + secretPath;
            }
        }
    }
Pair #3374 Negative (Non-Clone)
ID: 756_677
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeProducer.java
Name: org.apache.camel.component.ignite.compute.IgniteComputeProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        IgniteCompute compute = endpoint.createIgniteCompute().withAsync();

        try {
            switch (executionTypeFor(exchange)) {

                case CALL:
                    doCall(exchange, compute);
                    break;

                case BROADCAST:
                    doBroadcast(exchange, compute);
                    break;

                case EXECUTE:
                    doExecute(exchange, compute);
                    break;

                case RUN:
                    doRun(exchange, compute);
                    break;

                case APPLY:
                    doApply(exchange, compute);
                    break;

                case AFFINITY_CALL:
                    doAffinityCall(exchange, compute);
                    break;

                case AFFINITY_RUN:
                    doAffinityRun(exchange, compute);
                    break;

                default:
                    exchange.setException(
                            new UnsupportedOperationException("Operation not supported by Ignite Compute producer."));
                    callback.done(false);
                    return false;
            }

            compute.future().listen(IgniteInCamelClosure.create(exchange, callback));
            return false;

        } catch (Exception e) {
            exchange.setException(e);
            callback.done(false);
            return false;
        }
    }
ID: 738_662
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/mysql/configuration/MySqlConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "database.jdbc.driver", databaseJdbcDriver);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "use.nongraceful.disconnect", useNongracefulDisconnect);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "gtid.source.excludes", gtidSourceExcludes);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.ssl.keystore", databaseSslKeystore);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.allow.schema.changes", incrementalSnapshotAllowSchemaChanges);
        addPropertyIfNotNull(configBuilder, "database.protocol", databaseProtocol);
        addPropertyIfNotNull(configBuilder, "min.row.count.to.stream.results", minRowCountToStreamResults);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "gtid.source.filter.dml.events", gtidSourceFilterDmlEvents);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "connect.timeout.ms", connectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "bigint.unsigned.handling.mode", bigintUnsignedHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.server.id", databaseServerId);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "database.ssl.mode", databaseSslMode);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "connect.keep.alive.interval.ms", connectKeepAliveIntervalMs);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "include.query", includeQuery);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "gtid.source.includes", gtidSourceIncludes);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "binlog.buffer.size", binlogBufferSize);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.ssl.truststore.password", databaseSslTruststorePassword);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "enable.time.adjuster", enableTimeAdjuster);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "inconsistent.schema.handling.mode", inconsistentSchemaHandlingMode);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "connect.keep.alive", connectKeepAlive);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "event.deserialization.failure.handling.mode", eventDeserializationFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "database.ssl.truststore", databaseSslTruststore);
        addPropertyIfNotNull(configBuilder, "database.ssl.keystore.password", databaseSslKeystorePassword);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "database.server.id.offset", databaseServerIdOffset);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #3375 Negative (Non-Clone)
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
Pair #3376 Negative (Non-Clone)
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1690_1413
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            if (camelContext == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    camelContext = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts != null && contexts.size() == 1) {
                        camelContext = contexts.values().iterator().next();
                    }
                }
            }
            return camelContext;
        }
Pair #3377 Negative (Non-Clone)
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #3378 Negative (Non-Clone)
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 248_320
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubProducerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubProducerAsyncClient createEventHubProducerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncProducerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncProducerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncProducerClient();
    }
Pair #3379 Negative (Non-Clone)
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #3380 Negative (Non-Clone)
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 112_104
ClassID: 112
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
Name: org.apache.camel.component.servlet.ServletComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "servlet");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #3381 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 878_728
ClassID: 878
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.LocalTimePatternFormat(String pattern, String timezone, Locale locale)
        LocalTimePatternFormat(String pattern, String timezone, Locale locale) {
            this.pattern = pattern;
            this.locale = locale;
            if (timezone.isEmpty()) {
                this.zone = ZoneId.systemDefault();
            } else {
                this.zone = ZoneId.of(timezone);
            }
        }
Pair #3382 Negative (Non-Clone)
ID: 1888_1558
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
Pair #3383 Negative (Non-Clone)
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #3384 Negative (Non-Clone)
ID: 1853_1507
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PrivateKey importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPrivateKey(keyData);
        } else {
            derBytes = keyData;
        }

        PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePrivate(spec);
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3385 Negative (Non-Clone)
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #3386 Negative (Non-Clone)
ID: 1033_884
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, null)) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
    }
ID: 2463_1971
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.readTraceFiles(Map<Long, Pid> pids)
    private int readTraceFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getTraceFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #3387 Negative (Non-Clone)
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
Pair #3388 Negative (Non-Clone)
ID: 891_738
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:datasetId:tableName\"");
        }

        GoogleBigQueryConfiguration conf = configuration != null ? configuration.copy() : new GoogleBigQueryConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQueryEndpoint endpoint = new GoogleBigQueryEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
Pair #3389 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
Pair #3390 Negative (Non-Clone)
ID: 644_573
ClassID: 644
File: systems/camel-java/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/WhatsAppWebhookProcessor.java
Name: org.apache.camel.component.whatsapp.WhatsAppWebhookProcessor.parseQueryParam(Exchange exchange)
    private Map<String, String> parseQueryParam(Exchange exchange) {
        Map<String, String> queryParams = new HashMap<>();

        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            String[] pairs = exchange.getIn().getHeader(Exchange.HTTP_QUERY).toString().split("&");
            for (String pair : pairs) {
                String[] keyValuePair = pair.split("=");

                queryParams.put(keyValuePair[0], keyValuePair[1]);
            }
        }

        return queryParams;
    }
ID: 2377_1868
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setOutputFieldsIdx(String outputFieldsIdx)
    public void setOutputFieldsIdx(String outputFieldsIdx) {
        if (outputFieldsIdx != null) {
            String[] outputArray = outputFieldsIdx.split(",");
            outputFieldsIdxArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsIdxArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #3391 Negative (Non-Clone)
ID: 2228_1744
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitTagConsumer.java
Name: org.apache.camel.component.git.consumer.GitTagConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().tagList().call();
        for (Ref ref : call) {
            if (!tagsConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #3392 Negative (Non-Clone)
ID: 3261_2620
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> answer = new LinkedHashMap<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.put(pair.getName(), type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }

        return answer;
    }
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #3393 Negative (Non-Clone)
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
Pair #3394 Negative (Non-Clone)
ID: 2660_2337
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
Name: org.apache.camel.processor.SendDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public SendDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found SendDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (SendDynamicAware.class.isAssignableFrom(type)) {
                SendDynamicAware answer = (SendDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a SendDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
ID: 1406_1257
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, AlertNotification alertNotification)
    public SmppMessage createSmppMessage(CamelContext camelContext, AlertNotification alertNotification) {
        SmppMessage smppMessage = new SmppMessage(camelContext, alertNotification, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.AlertNotification.toString());
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, alertNotification.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, alertNotification.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, alertNotification.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, alertNotification.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, alertNotification.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, alertNotification.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.ESME_ADDR, alertNotification.getEsmeAddr());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_NPI, alertNotification.getEsmeAddrNpi());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_TON, alertNotification.getEsmeAddrTon());

        return smppMessage;
    }
Pair #3395 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
Pair #3396 Negative (Non-Clone)
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
ID: 1689_1412
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteTemplateContextFactoryBean) {
                CamelRouteTemplateContextFactoryBean factoryBean = (CamelRouteTemplateContextFactoryBean) value;
                builder.addPropertyValue("routeTemplates", factoryBean.getRouteTemplates());
            }

             
            injectNamespaces(element, binder);
        }
Pair #3397 Negative (Non-Clone)
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
Pair #3398 Negative (Non-Clone)
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 2472_2012
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jph = (JsonObject) root.get("platform-http");
                        if (jph != null) {
                            String server = jph.getString("server");
                            JsonArray arr = (JsonArray) jph.get("endpoints");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    JsonObject jo = (JsonObject) arr.get(i);
                                    row.server = server;
                                    row.url = jo.getString("url");
                                    row.path = jo.getString("path");
                                    row.verbs = jo.getString("verbs");
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    rows.add(row);
                                }
                            }
                            if (all) {
                                arr = (JsonArray) jph.get("managementEndpoints");
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.server = server;
                                        row.url = jo.getString("url");
                                        row.path = jo.getString("path");
                                        row.verbs = jo.getString("verbs");
                                        row.consumes = jo.getString("consumes");
                                        row.produces = jo.getString("produces");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.verbs),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #3399 Negative (Non-Clone)
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
ID: 1217_1042
ClassID: 1217
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.performOperation(Exchange exchange, StripeOperation operation, String method)
    private Object performOperation(Exchange exchange, StripeOperation operation, String method) throws Exception {
        switch (operation) {
            case CHARGES:
                return handleCharges(exchange, method);
            case CUSTOMERS:
                return handleCustomers(exchange, method);
            case PAYMENT_INTENTS:
                return handlePaymentIntents(exchange, method);
            case PAYMENT_METHODS:
                return handlePaymentMethods(exchange, method);
            case REFUNDS:
                return handleRefunds(exchange, method);
            case SUBSCRIPTIONS:
                return handleSubscriptions(exchange, method);
            case INVOICES:
                return handleInvoices(exchange, method);
            case PRODUCTS:
                return handleProducts(exchange, method);
            case PRICES:
                return handlePrices(exchange, method);
            case BALANCE_TRANSACTIONS:
                return handleBalanceTransactions(exchange, method);
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #3400 Negative (Non-Clone)
ID: 259_341
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSas(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSas(
            final DataLakeConfiguration configuration) {
        AzureSasCredential sasCredential = configuration.getSasCredential();
        if (sasCredential == null) {
            LOG.trace("Using SAS signature to instantiate service client");
            sasCredential = new AzureSasCredential(configuration.getSasSignature());
        } else {
            LOG.trace("Using configured SAS instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sasCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
ID: 2615_2263
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(MainModel model)
    public static JsonObject asJsonObject(MainModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (MainGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (MainOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
Pair #3401 Negative (Non-Clone)
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #3402 Negative (Non-Clone)
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #3403 Negative (Non-Clone)
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 379_415
ClassID: 379
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsHeaderFilterStrategy.java
Name: org.apache.camel.component.sjms.SjmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add("JMSXUserID");
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
Pair #3404 Negative (Non-Clone)
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3405 Negative (Non-Clone)
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
Pair #3406 Negative (Non-Clone)
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
Pair #3407 Negative (Non-Clone)
ID: 3231_2545
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyExpression(final String name)
    public static Expression mandatoryBodyExpression(final String name) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                try {
                    return exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "]";
            }
        };
    }
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #3408 Negative (Non-Clone)
ID: 1644_1407
ClassID: 1644
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
Name: org.apache.camel.processor.transformer.AnnotationTransformerLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                try (BufferedReader reader
                        = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        packages.add(line);
                    }
                }
            }
        }
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3409 Negative (Non-Clone)
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #3410 Negative (Non-Clone)
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 1115_949
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {

        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);

        if (imageClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }

        String operation = ((ImageRecognitionEndpoint) super.getEndpoint()).getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation name cannot be empty");
        }
        switch (operation) {
            case ImageRecognitionConstants.OPERATION_CELEBRITY_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing celebrity recognition");
                }
                performCelebrityRecognitionOperation(exchange, clientConfigurations);
                break;
            case ImageRecognitionConstants.OPERATION_TAG_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing tag recognition");
                }
                performTagRecognitionOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation can only be either tagRecognition or celebrityRecognition");
        }
    }
Pair #3411 Negative (Non-Clone)
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #3412 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 2246_1769
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                cache.remove(InfinispanClusterService.LEADER_KEY, getClusterService().getId());

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }
        }
Pair #3413 Negative (Non-Clone)
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
ID: 1807_1484
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTopContainerRequest(DockerClient client, Message message)
    private TopContainerCmd executeTopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Top Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        TopContainerCmd topContainerCmd = client.topContainerCmd(containerId);

        String psArgs = DockerHelper.getProperty(DockerConstants.DOCKER_PS_ARGS, configuration, message, String.class);

        if (psArgs != null) {
            topContainerCmd.withPsArgs(psArgs);
        }

        return topContainerCmd;

    }
Pair #3414 Negative (Non-Clone)
ID: 2642_2291
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultAsyncProcessor()
    private Processor defaultAsyncProcessor() {
        final Map<String, Object> headersCopy = ObjectHelper.isNotEmpty(this.headers) ? new HashMap<>(this.headers) : null;
        final Map<String, Object> propertiesCopy
                = ObjectHelper.isNotEmpty(this.exchangeProperties) ? new HashMap<>(this.exchangeProperties) : null;
        final Map<String, Object> variablesCopy
                = ObjectHelper.isNotEmpty(this.variables) ? new HashMap<>(this.variables) : null;
        final Object bodyCopy = this.body;
        return exchange -> {
            if (headersCopy != null) {
                exchange.getIn().getHeaders().putAll(headersCopy);
            }
            if (propertiesCopy != null) {
                exchange.getProperties().putAll(propertiesCopy);
            }
            if (bodyCopy != null) {
                exchange.getIn().setBody(bodyCopy);
            }
            if (variablesCopy != null) {
                variablesCopy.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3415 Negative (Non-Clone)
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
ID: 1311_1198
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doListResourceQuotasByLabels(Exchange exchange)
    protected void doListResourceQuotasByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ResourceQuotas by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ResourceQuotas by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().withLabels(labels).list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
Pair #3416 Negative (Non-Clone)
ID: 2453_1948
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getSupportLevel(Object kamelet)
    private static String getSupportLevel(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getAnnotations");
        @SuppressWarnings("unchecked")
        Map<String, String> anns = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (anns != null) {
            return anns.get("camel.apache.org/kamelet.support.level");
        }
        return null;
    }
ID: 2451_1942
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDevConsoleNames()) {
            DevConsoleModel model = catalog.devConsoleModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #3417 Negative (Non-Clone)
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
Pair #3418 Negative (Non-Clone)
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
Pair #3419 Negative (Non-Clone)
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1184_1006
ClassID: 1184
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        if (usingIterator) {
            ZipIterator zipIterator = new ZipIterator(exchange, inputStream);
            zipIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return zipIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(inputStream);
            ZipArchiveInputStream zis = new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.ZIP, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                ZipArchiveEntry entry = zis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(zis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
                }

                entry = zis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Zip file has more than 1 entry.");
                }

                return osb.build();
            } finally {
                IOHelper.close(osb, zis, bis);
            }
        }
    }
Pair #3420 Negative (Non-Clone)
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
ID: 3111_2398
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.init(CamelContext context)
    public void init(CamelContext context) {
        if (expr == null) {
            lock.lock();
            try {
                if (expr == null) {
                    Expression newExpression = getExpressionValue();
                    if (newExpression == null) {
                        newExpression = delegate.getExpressionType().createExpression(context);
                    }
                    newExpression.init(context);
                    expr = newExpression;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3421 Negative (Non-Clone)
ID: 483_508
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #3422 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
Pair #3423 Negative (Non-Clone)
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #3424 Negative (Non-Clone)
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #3425 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
Pair #3426 Negative (Non-Clone)
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
Pair #3427 Negative (Non-Clone)
ID: 1310_1176
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace().list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #3428 Negative (Non-Clone)
ID: 452_479
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.copyFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder copyFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToCopy = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return folderToCopy.copy(destinationFolder).getResource();
            } else {
                return folderToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
Pair #3429 Negative (Non-Clone)
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #3430 Negative (Non-Clone)
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
ID: 2043_1651
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyCommit(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {
        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
             
            if (key != null) {
                 
                if (endpoint.isIdempotentEager()) {
                    endpoint.getIdempotentRepository().confirm(key);
                } else {
                    endpoint.getIdempotentRepository().add(key);
                }
            }
        }

        handleDoneFile(exchange);

        try {
            LOG.trace("Commit file strategy: {} for file: {}", processStrategy, file);
            processStrategy.commit(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during commit", exchange, e);
        }
    }
Pair #3431 Negative (Non-Clone)
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 658_591
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.PortProducer.messageToPort(Message message)
    private Port messageToPort(Message message) {
        Port port = message.getBody(Port.class);

        if (port == null) {
            Map headers = message.getHeaders();
            PortBuilder builder = Builders.port();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
                builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
                builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
            }

            port = builder.build();
        }
        return port;
    }
Pair #3432 Negative (Non-Clone)
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #3433 Negative (Non-Clone)
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
ID: 2454_1950
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Spring Boot project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copyApplicationPropertiesFiles(srcResourcesDir);

         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);

         
        createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
         
        final Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            boolean http = deps.stream().anyMatch(s -> s.contains("mvn:org.apache.camel:camel-platform-http"));
            if (!http) {
                prop.put("camel.main.run-controller", "true");
            }
             
            if (!prop.containsKey("server.port")) {
                int port = httpServerPort(settings);
                if (port == -1 && http) {
                    port = 8080;
                }
                if (port != -1 && port != 8080) {
                    prop.put("server.port", port);
                }
            }
            if (!prop.containsKey("management.server.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("management.server.port", port);
                }
            }
            if (hawtio) {
                 
                String s = prop.getProperty("management.endpoints.web.exposure.include");
                if (s == null) {
                    s = "hawtio,jolokia";
                } else {
                    s = s + ",hawtio,jolokia";
                }
                prop.setProperty("management.endpoints.web.exposure.include", s);
                prop.setProperty("spring.jmx.enabled", "true");
                prop.setProperty("hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, profile, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + ids[1] + "-" + ids[2] + ".jar";
        copyReadme(BUILD_DIR, appJar);
        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Paths.get(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
Pair #3434 Negative (Non-Clone)
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
Pair #3435 Negative (Non-Clone)
ID: 557_537
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Statement stmt)
    private void closeQuietly(Statement stmt) {
        if (stmt != null) {
            try {
                if (!stmt.isClosed()) {
                    stmt.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing statement", sqle);
            }
        }
    }
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
Pair #3436 Negative (Non-Clone)
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
Pair #3437 Negative (Non-Clone)
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
ID: 1910_1572
ClassID: 1910
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.computeIfAbsent(Exchange exchange)
    private AvroSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        AvroSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, AvroSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            Schema raw = new Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
            answer = new AvroSchema(raw);
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.AVRO.name().toLowerCase(Locale.US) + "/" + t
                                             + "." + SchemaType.AVRO.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Avro.mapper().schemaFrom(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Avro schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Avro.mapper().schemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Avro schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
Pair #3438 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3439 Negative (Non-Clone)
ID: 3270_2639
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
Pair #3440 Negative (Non-Clone)
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #3441 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 235_292
ClassID: 235
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files)
    protected boolean isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (SftpRemoteFile f : files) {
            if (f.getFilename().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #3442 Negative (Non-Clone)
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 3245_2577
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
Name: org.apache.camel.reifier.RemovePropertiesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", this);
        RemovePropertiesProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemovePropertiesProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3443 Negative (Non-Clone)
ID: 2230_1747
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommit(Exchange exchange, String operation)
    protected void doCommit(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setCommitter(username, email).setMessage(commitMessage).call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 679_605
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.doStart()
    protected void doStart() throws Exception {
        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerMessageHistoryService messageHistoryService
                    = camelContext.hasService(MicrometerMessageHistoryService.class);
            if (messageHistoryService == null) {
                messageHistoryService = new MicrometerMessageHistoryService();
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setMeterRegistry(getMeterRegistry());
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setDurationUnit(getDurationUnit());
                messageHistoryService.setMatchingTags(Tags.of(KIND, KIND_HISTORY));
                camelContext.addService(messageHistoryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

    }
Pair #3444 Negative (Non-Clone)
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #3445 Negative (Non-Clone)
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #3446 Negative (Non-Clone)
ID: 3100_2375
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ResponseHeaderDefinition.java
Name: org.apache.camel.model.rest.ResponseHeaderDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #3447 Negative (Non-Clone)
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
Pair #3448 Negative (Non-Clone)
ID: 974_820
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setLong(++totalParameterIndex, version + 1);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                    }
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
Pair #3449 Negative (Non-Clone)
ID: 2295_1812
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                LOG.trace("{} request performing", operationName);
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #3450 Negative (Non-Clone)
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
Pair #3451 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #3452 Negative (Non-Clone)
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #3453 Negative (Non-Clone)
ID: 902_776
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Drive makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Google Drive client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret, scopes);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Drive client.", e);
        }
    }
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #3454 Negative (Non-Clone)
ID: 1752_1455
ClassID: 1752
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY);
        }
        return key;
    }
ID: 103_80
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateUser(Keycloak keycloakClient, Exchange exchange)
    private void updateUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                keycloakClient.realm(realmName).users().get(userId).update((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("User updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update user requires POJO request with UserRepresentation");
        }
    }
Pair #3455 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1862_1531
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #3456 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3457 Negative (Non-Clone)
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 103_85
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientRole(Keycloak keycloakClient, Exchange exchange)
    private void updateClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().get(roleName)
                        .update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client role requires POJO request with RoleRepresentation");
        }
    }
Pair #3458 Negative (Non-Clone)
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #3459 Negative (Non-Clone)
ID: 442_464
ClassID: 442
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.DefaultServerInitializerFactory(NettyConsumer consumer)
    public DefaultServerInitializerFactory(NettyConsumer consumer) {
        this.consumer = consumer;
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 2231_1749
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateBranch(String operation)
    protected void doCreateBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchCreate().setName(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3460 Negative (Non-Clone)
ID: 3296_2704
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.stop()
    public void stop() {
        lock.lock();
        try {
            if (status == FAILED) {
                logger().trace("Service: {} failed and regarded as already stopped", this);
                return;
            }
            if (status == STOPPED || status == SHUTTING_DOWN || status == SHUTDOWN) {
                logger().trace("Service: {} already stopped", this);
                return;
            }
            if (status == STOPPING) {
                logger().trace("Service: {} already stopping", this);
                return;
            }
            status = STOPPING;
            logger().trace("Stopping service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doStop();
                status = STOPPED;
                logger().trace("Stopped: {} service", this);
            } catch (Exception e) {
                logger().trace("Error while stopping service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
Pair #3461 Negative (Non-Clone)
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
ID: 482_506
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #3462 Negative (Non-Clone)
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
Pair #3463 Negative (Non-Clone)
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #3464 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
Pair #3465 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #3466 Negative (Non-Clone)
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3467 Negative (Non-Clone)
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2522_2079
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumSqlserverComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumSqlserverComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumSqlserverComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumSqlserverComponent) component).setConfiguration((org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumSqlserverComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInstance": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseInstance((java.lang.String) value); return true;
            case "databaseNames": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseNames((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "dataQueryMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDataQueryMode((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotOptionRecompile": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotOptionRecompile((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxBatchSize((int) value); return true;
            case "maxIterationTransactions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxIterationTransactions((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingDelayMs((long) value); return true;
            case "streamingFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingFetchSize((int) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3468 Negative (Non-Clone)
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
ID: 188_193
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
    private void processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getUnprocessedRecords(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #3469 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
Pair #3470 Negative (Non-Clone)
ID: 2459_1959
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jibMavenPluginVersion(Path settings, Properties prop)
    protected static String jibMavenPluginVersion(Path settings, Properties prop) {
        String answer = null;
        if (prop != null) {
            answer = prop.getProperty(JIB_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream().filter(l -> l.startsWith(JIB_MAVEN_PLUGIN_VERSION + "="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "3.4.5";
    }
ID: 483_508
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
Pair #3471 Negative (Non-Clone)
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3472 Negative (Non-Clone)
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #3473 Negative (Non-Clone)
ID: 930_806
ClassID: 930
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.determineOperation(Exchange exchange)
    private GoogleVertexAIOperations determineOperation(Exchange exchange) {
        GoogleVertexAIOperations operation
                = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, GoogleVertexAIOperations.class);
        if (operation == null) {
            String operationString = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, String.class);
            if (operationString != null) {
                operation = GoogleVertexAIOperations.valueOf(operationString);
            }
        }
        return operation;
    }
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #3474 Negative (Non-Clone)
ID: 829_709
ClassID: 829
File: systems/camel-java/components/camel-csimple-joor/src/main/java/org/apache/camel/language/csimple/joor/JoorCSimpleCompilationException.java
Name: org.apache.camel.language.csimple.joor.JoorCSimpleCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
Pair #3475 Negative (Non-Clone)
ID: 3161_2408
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedStep(String id)
    public ManagedStepMBean getManagedStep(String id) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForStep(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
Pair #3476 Negative (Non-Clone)
ID: 1644_1405
ClassID: 1644
File: systems/camel-java/components/camel-spring-parent/camel-spring-main/src/main/java/org/apache/camel/spring/Main.java
Name: org.apache.camel.spring.Main.findLocations(Set<String> locations, ClassLoader classLoader)
    protected void findLocations(Set<String> locations, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(LOCATION_PROPERTIES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
            try {
                while (true) {
                    String line = reader.readLine();
                    if (line == null) {
                        break;
                    }
                    line = line.trim();
                    if (line.startsWith("#") || line.isEmpty()) {
                        continue;
                    }
                    locations.add(line);
                }
            } finally {
                IOHelper.close(reader, null, LOG);
            }
        }
    }
ID: 1426_1276
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt, CMSEnvelopedDataGenerator dataGenerator, OutputEncryptor encryptor, String encryptedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt,
                                                   CMSEnvelopedDataGenerator dataGenerator,
                                                   OutputEncryptor encryptor,
                                                   String encryptedContentTransferEncoding,
                                                   boolean isMainBody)
                                                                       throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "enveloped-data"),
                new BasicNameValuePair("name", "smime.p7m")),
              encryptedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.encryptedData = createEncryptedData(entity2Encrypt, dataGenerator, encryptor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
Pair #3477 Negative (Non-Clone)
ID: 1274_1115
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier, final Supplier<DynamicRouterProducerFactory> producerFactorySupplier, final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final Supplier<DynamicRouterProcessorFactory> processorFactorySupplier,
                                 final Supplier<DynamicRouterProducerFactory> producerFactorySupplier,
                                 final BiFunction<CamelContext, Expression, RecipientList> recipientListSupplier,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.processorFactorySupplier = processorFactorySupplier;
        this.producerFactorySupplier = producerFactorySupplier;
        this.recipientListSupplier = recipientListSupplier;
        this.configuration.setChannel(channel);
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router endpoint URI: {}", uri);
    }
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
Pair #3478 Negative (Non-Clone)
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #3479 Negative (Non-Clone)
ID: 3272_2645
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri)
    public static InputStream resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri) throws IOException {
        InputStream is = resolveResourceAsInputStream(camelContext, uri);
        if (is == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " for URI: " + uri);
        } else {
            return is;
        }
    }
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3480 Negative (Non-Clone)
ID: 338_386
ClassID: 338
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
Pair #3481 Negative (Non-Clone)
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
ID: 3217_2497
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodFallbackTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodFallbackTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, type, exchange, value, registry) : (T) ObjectHelper
                        .invokeMethod(method, instance, type, value, registry);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #3482 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
Pair #3483 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 1738_1449
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketClientConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketClientConsumer.processExchange(Exchange exchange)
    protected void processExchange(Exchange exchange) {
        Vertx vertx = getEndpoint().getVertx();
        vertx.executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
Pair #3484 Negative (Non-Clone)
ID: 1170_1000
ClassID: 1170
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
Name: org.apache.camel.coap.CoAPEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        final Consumer consumer;
        if (isObserve()) {
            consumer = new CoAPObserver(this, processor);
        } else {
            consumer = new CoAPConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 1444_1300
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2AsyncMDNServerConnection(AS2Configuration configuration)
    public static AS2AsyncMDNServerConnection createAS2AsyncMDNServerConnection(AS2Configuration configuration)
            throws IOException {
        try {
            return asyncMdnServerConnections.computeIfAbsent(
                    configuration.getAsyncMdnPortNumber(),
                    key -> {
                        try {
                            return new AS2AsyncMDNServerConnection(
                                    configuration.getAsyncMdnPortNumber(), configuration.getSslContext());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
Pair #3485 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
Pair #3486 Negative (Non-Clone)
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
Pair #3487 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
Pair #3488 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
Pair #3489 Negative (Non-Clone)
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3490 Negative (Non-Clone)
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
Pair #3491 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 768_699
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Custom model ID must be specified");
        }

        LOG.trace("Getting custom language model: {}", modelId);

        com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions options
                = new com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions.Builder()
                        .customizationId(modelId)
                        .build();

        LanguageModel customModel = stt.getLanguageModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #3492 Negative (Non-Clone)
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #3493 Negative (Non-Clone)
ID: 2602_2223
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShortOrDefault(final String key, final short defaultValue)
    public Short getShortOrDefault(final String key, final short defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #3494 Negative (Non-Clone)
ID: 188_188
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateJob(final Exchange exchange, final AsyncCallback callback)
    private void processCreateJob(final Exchange exchange, final AsyncCallback callback)
            throws InvalidPayloadException {
        JobInfo jobBody = exchange.getIn().getMandatoryBody(JobInfo.class);
        bulkClient.createJob(jobBody, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
Pair #3495 Negative (Non-Clone)
ID: 2176_1708
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration)
    private void configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
ID: 698_638
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsert(Exchange exchange, SqlSession session)
    private void doInsert(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Inserting: {} using statement: {}", value, statement);
                result = session.insert(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3496 Negative (Non-Clone)
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
Pair #3497 Negative (Non-Clone)
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #3498 Negative (Non-Clone)
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
Pair #3499 Negative (Non-Clone)
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3500 Negative (Non-Clone)
ID: 3237_2559
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.reifier(CamelContext camelContext, TransformerDefinition definition)
    public static TransformerReifier<? extends TransformerDefinition> reifier(
            CamelContext camelContext, TransformerDefinition definition) {

        TransformerReifier<? extends TransformerDefinition> answer = null;
        if (!TRANSFORMERS.isEmpty()) {
             
            BiFunction<CamelContext, TransformerDefinition, TransformerReifier<? extends TransformerDefinition>> reifier
                    = TRANSFORMERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #3501 Negative (Non-Clone)
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #3502 Negative (Non-Clone)
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
ID: 242_308
ClassID: 242
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("login", "Client Id/Client Secret");
            AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
            if (azure != null) {
                root.put("refreshEnabled", azure.isRefreshEnabled());
                root.put("refreshPeriod", azure.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
Pair #3503 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #3504 Negative (Non-Clone)
ID: 3226_2517
ClassID: 3226
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes)
    private static String[] codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(256);

        int codeLevel = 0;
        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

             
            if (input.indexOf(BaseSimpleParser.CODE_START, i) == i) {
                codeLevel++;
                sb.append(BaseSimpleParser.CODE_START);
                i = i + BaseSimpleParser.CODE_START.length() - 1;
                continue;
            } else if (input.indexOf(BaseSimpleParser.CODE_END, i) == i) {
                codeLevel--;
                sb.append(BaseSimpleParser.CODE_END);
                i = i + BaseSimpleParser.CODE_END.length() - 1;
                continue;
            }
            if (codeLevel > 0) {
                sb.append(ch);
                continue;
            }

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #3505 Negative (Non-Clone)
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3506 Negative (Non-Clone)
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #3507 Negative (Non-Clone)
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #3508 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3509 Negative (Non-Clone)
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #3510 Negative (Non-Clone)
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
ID: 2421_1902
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
Pair #3511 Negative (Non-Clone)
ID: 1011_877
ClassID: 1011
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Producer.java
Name: org.apache.camel.component.olingo2.Olingo2Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo2Constants.RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }

        return false;
    }
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #3512 Negative (Non-Clone)
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
ID: 283_349
ClassID: 283
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = ProtobufSchemaLoader.std.parse(schema);
            } catch (IOException e) {
                throw new RuntimeCamelException("Failed tp parse Protobuf schema", e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #3513 Negative (Non-Clone)
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
Pair #3514 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #3515 Negative (Non-Clone)
ID: 1780_1462
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpSocketConsumerRunnable.TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer, Hl7Util hl7Util, boolean logPhi)
    public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
                                     Hl7Util hl7Util, boolean logPhi) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;
        this.hl7Util = hl7Util;
        this.logPhi = logPhi;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 3176_2451
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchemaFactory()
    public SchemaFactory getSchemaFactory() {
        if (schemaFactory == null) {
            lock.lock();
            try {
                if (schemaFactory == null) {
                    schemaFactory = createSchemaFactory();
                }
            } finally {
                lock.unlock();
            }
        }
        return schemaFactory;
    }
Pair #3516 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
Pair #3517 Negative (Non-Clone)
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3518 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3519 Negative (Non-Clone)
ID: 242_309
ClassID: 242
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            if (propertiesFunction.isUseDefaultInstance()) {
                root.put("login", "Default Instance");
            } else {
                root.put("login", "Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                root.put("refreshEnabled", gcp.isRefreshEnabled());
                root.put("refreshPeriod", gcp.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #3520 Negative (Non-Clone)
ID: 3286_2683
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer)
    public <T> ResultBuilder error(T data, ThrowingBiConsumer<ResultBuilder, T, Exception> consumer) {
        try {
            consumer.accept(this, data);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #3521 Negative (Non-Clone)
ID: 1739_1452
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3522 Negative (Non-Clone)
ID: 740_665
ClassID: 740
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
Name: org.apache.camel.maven.config.ConnectorConfigGenerator.generateJavaClass()
    private void generateJavaClass() {
        setPackage();
        setImports();
        setClassNameAndType();
        setClassFields();
        setSettersAndGettersMethods();
        setCreateConnectorConfigurationMethod();
        setConfigureConnectorClassMethod();
        setValidateConnectorConfiguration();
        setGetConnectorDatabaseType();
    }
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #3523 Negative (Non-Clone)
ID: 1311_1198
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doListResourceQuotasByLabels(Exchange exchange)
    protected void doListResourceQuotasByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ResourceQuotas by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ResourceQuotas by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().withLabels(labels).list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
Pair #3524 Negative (Non-Clone)
ID: 2568_2149
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processElement(Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement, Set<EipOptionModel> eipOptions, String prefix)
    private void processElement(
            Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement,
            Set<EipOptionModel> eipOptions, String prefix) {
        String fieldName = fieldElement.getName();
        if (element != null) {
            Metadata metadata = fieldElement.getAnnotation(Metadata.class);
            String name = fetchElementName(element, fieldElement, prefix);
            Class<?> fieldTypeElement = fieldElement.getType();
            String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
            boolean isDuration = false;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
                String jt = metadata.javaType();
                if ("java.time.Duration".equals(jt)) {
                    isDuration = true;
                } else {
                    fieldTypeName = jt;
                }
            }

            String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
            String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
            boolean required = element.required();
             
            required = findRequired(fieldElement, required);

             
             
            boolean asPredicate = fieldElement.getAnnotation(AsPredicate.class) != null;
            if (!asPredicate) {
                asPredicate = classElement.getAnnotation(AsPredicate.class) != null;
            }

             
            Set<String> enums = new TreeSet<>();
            boolean isEnum;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
                isEnum = true;
                String[] values = metadata.enums().split(",");
                for (String val : values) {
                    enums.add(val.trim());
                }
            } else {
                isEnum = fieldTypeElement.isEnum();
                if (isEnum) {
                    for (Object val : fieldTypeElement.getEnumConstants()) {
                        String str = val.toString();
                        enums.add(str);
                    }
                }
            }

            String kind = "element";
             
            Set<String> oneOfTypes = new TreeSet<>();
            boolean isOneOf = ONE_OF_TYPE_NAME.equals(fieldTypeName);
            if (isOneOf) {
                 
                 
                kind = "expression";
                oneOfTypes = getOneOfs(ONE_OF_LANGUAGES);
            }
             
            if ("otherwise".equals(name)) {
                oneOfTypes.add("otherwise");
            }

            boolean important = false;
            String displayName = null;
            if (metadata != null) {
                displayName = metadata.displayName();
                important = metadata.important();
            }
            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
            String deprecationNote = null;
            if (metadata != null) {
                deprecationNote = metadata.deprecationNote();
            }
            String label = null;
            if (metadata != null) {
                label = metadata.label();
            }

            EipOptionModel ep = createOption(name, displayName, kind, fieldTypeName, required, defaultValue, label,
                    docComment, deprecated, deprecationNote, isEnum, enums,
                    oneOfTypes, asPredicate, isDuration, important);
            eipOptions.add(ep);
        }
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #3525 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 303_362
ClassID: 303
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/HttpMethodHelper.java
Name: org.apache.camel.tracing.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
Pair #3526 Negative (Non-Clone)
ID: 924_798
ClassID: 924
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubComponent.getCredentialsProvider(GooglePubsubEndpoint endpoint)
    private CredentialsProvider getCredentialsProvider(GooglePubsubEndpoint endpoint) throws IOException {
        CredentialsProvider credentialsProvider;

        if (endpoint.isAuthenticate()) {
            credentialsProvider = FixedCredentialsProvider.create(ObjectHelper.isEmpty(endpoint.getServiceAccountKey())
                    ? GoogleCredentials.getApplicationDefault() : ServiceAccountCredentials.fromStream(ResourceHelper
                            .resolveMandatoryResourceAsInputStream(getCamelContext(), endpoint.getServiceAccountKey()))
                            .createScoped(PublisherStubSettings.getDefaultServiceScopes()));
        } else {
            credentialsProvider = NoCredentialsProvider.create();
        }

        return credentialsProvider;
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3527 Negative (Non-Clone)
ID: 756_677
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeProducer.java
Name: org.apache.camel.component.ignite.compute.IgniteComputeProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        IgniteCompute compute = endpoint.createIgniteCompute().withAsync();

        try {
            switch (executionTypeFor(exchange)) {

                case CALL:
                    doCall(exchange, compute);
                    break;

                case BROADCAST:
                    doBroadcast(exchange, compute);
                    break;

                case EXECUTE:
                    doExecute(exchange, compute);
                    break;

                case RUN:
                    doRun(exchange, compute);
                    break;

                case APPLY:
                    doApply(exchange, compute);
                    break;

                case AFFINITY_CALL:
                    doAffinityCall(exchange, compute);
                    break;

                case AFFINITY_RUN:
                    doAffinityRun(exchange, compute);
                    break;

                default:
                    exchange.setException(
                            new UnsupportedOperationException("Operation not supported by Ignite Compute producer."));
                    callback.done(false);
                    return false;
            }

            compute.future().listen(IgniteInCamelClosure.create(exchange, callback));
            return false;

        } catch (Exception e) {
            exchange.setException(e);
            callback.done(false);
            return false;
        }
    }
ID: 3107_2391
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #3528 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
Pair #3529 Negative (Non-Clone)
ID: 18_24
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulHealthProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulHealthProducer target = (org.apache.camel.component.consul.endpoint.ConsulHealthProducer) obj;
        switch (key) {
        case "checks":
        case "CHECKS": target.checks(exchange.getMessage()); return null;
        case "node_checks":
        case "NODE_CHECKS": target.nodeChecks(exchange.getMessage()); return null;
        case "service_checks":
        case "SERVICE_CHECKS": target.serviceChecks(exchange.getMessage()); return null;
        case "service_instances":
        case "SERVICE_INSTANCES": target.serviceInstances(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 1314_1214
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doCreateOrUpdateConfigMap(Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation)
    private void doCreateOrUpdateConfigMap(
            Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HashMap<String, String> configMapData
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
        HashMap<String, String> configMapAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("{} a specific configMap require specify a configMap name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a configMap name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific configMap require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(configMapData)) {
            LOG.error("{} a specific configMap require specify a data map", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a data map", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapBuilder cfMapCreating = new ConfigMapBuilder();
        if (ObjectHelper.isEmpty(configMapAnnotations)) {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).endMetadata().withData(configMapData);
        } else {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).withAnnotations(configMapAnnotations)
                    .endMetadata().withData(configMapData);
        }
        ConfigMap configMap
                = operation.apply(
                        getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName)
                                .resource(cfMapCreating.build()));

        prepareOutboundMessage(exchange, configMap);
    }
Pair #3530 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 749_675
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthClientCredentialsProcessor.java
Name: org.apache.camel.oauth.OAuthClientCredentialsProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var clientId = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_ID);
        var clientSecret = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_SECRET);

        var userProfile = oauth.authenticate(new ClientCredentials()
                .setClientSecret(clientSecret)
                .setClientId(clientId));

        session.putUserProfile(userProfile);
        log.info("Authenticated {}", userProfile.subject());
        userProfile.logDetails();

         
         
        var accessToken = userProfile.accessToken().orElseThrow(() -> new OAuthException("No access_token"));
        msg.setHeader("Authorization", "Bearer " + accessToken);
    }
Pair #3531 Negative (Non-Clone)
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
Pair #3532 Negative (Non-Clone)
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
ID: 1939_1589
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
Pair #3533 Negative (Non-Clone)
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3534 Negative (Non-Clone)
ID: 2556_2125
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByRouteId(String directory, String routeId)
    public static List<CoverageData> parseDumpRouteCoverageByRouteId(String directory, String routeId) throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (routeId == null) {
            return answer;
        }
        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    if (routeId.equals(id)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        parseRouteData(catalog, route, answer, counter, routeId);
                    }
                }
            }
        }

        return answer;
    }
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
Pair #3535 Negative (Non-Clone)
ID: 308_376
ClassID: 308
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
ID: 3270_2639
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
Pair #3536 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
Pair #3537 Negative (Non-Clone)
ID: 3105_2387
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.instance(Object instance)
        public Builder instance(Object instance) {
             
            if (instance instanceof Class) {
                this.beanType = (Class<?>) instance;
                this.instance = null;
            } else {
                this.beanType = null;
                this.instance = instance;
            }
            return this;
        }
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #3538 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3539 Negative (Non-Clone)
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
Pair #3540 Negative (Non-Clone)
ID: 1006_867
ClassID: 1006
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #3541 Negative (Non-Clone)
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2522_2080
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
            case "cdcChangeTablesSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcChangeTablesSchema((java.lang.String) value); return true;
            case "cdcControlSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcControlSchema((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumDb2Component) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "db2Platform": getOrCreateConfiguration((DebeziumDb2Component) component).setDb2Platform((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumDb2Component) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumDb2Component) component).setIncludeSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumDb2Component) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumDb2Component) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumDb2Component) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumDb2Component) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumDb2Component) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumDb2Component) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumDb2Component) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3542 Negative (Non-Clone)
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #3543 Negative (Non-Clone)
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #3544 Negative (Non-Clone)
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2636_2269
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
Name: org.apache.camel.impl.engine.DefaultDevConsoleResolver.resolveDevConsole(String id)
    public DevConsole resolveDevConsole(String id) {
         
        DevConsole answer = camelContext.getRegistry().lookupByNameAndType(id + "-dev-console", DevConsole.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, DevConsole.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findDevConsole(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no DevConsole registered for id: " + id, e);
        }

        if (type != null) {
            if (DevConsole.class.isAssignableFrom(type)) {
                answer = (DevConsole) camelContext.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
            } else {
                throw new IllegalArgumentException(
                        "Resolving dev-console: " + id + " detected type conflict: Not a DevConsole implementation. Found: "
                                                   + type.getName());
            }
        }

        return answer;
    }
Pair #3545 Negative (Non-Clone)
ID: 2296_1817
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildAsyncClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkAsyncClientBuilder<B, C>, C extends SdkClient> C buildAsyncClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        NettyNioAsyncHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring async proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            software.amazon.awssdk.http.nio.netty.ProxyConfiguration proxyConfig
                    = software.amazon.awssdk.http.nio.netty.ProxyConfiguration.builder()
                            .scheme(config.getProxyProtocol().toString())
                            .host(config.getProxyHost())
                            .port(config.getProxyPort())
                            .build();
            httpClientBuilder = NettyNioAsyncHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = NettyNioAsyncHttpClient.builder();
            }
            SdkAsyncHttpClient asyncHttpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(asyncHttpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #3546 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #3547 Negative (Non-Clone)
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
Pair #3548 Negative (Non-Clone)
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
Pair #3549 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 1104_932
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (this.iamClient == null) {
            LOG.info("Initializing SDK client");
            this.iamClient = endpoint.initClient();
            LOG.info("IAM client initialized");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case IAMOperations.LIST_USERS:
                listUsers(exchange);
                break;
            case IAMOperations.GET_USER:
                getUser(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_USER:
                updateUser(exchange, clientConfigurations);
                break;
            case IAMOperations.LIST_GROUPS:
                listGroups(exchange);
                break;
            case IAMOperations.GET_GROUP_USERS:
                getGroupUsers(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_GROUP:
                updateGroup(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #3550 Negative (Non-Clone)
ID: 2201_1730
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GitHubResource.java
Name: org.apache.camel.github.GitHubResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 2522_2079
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumSqlserverComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumSqlserverComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumSqlserverComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumSqlserverComponent) component).setConfiguration((org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumSqlserverComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInstance": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseInstance((java.lang.String) value); return true;
            case "databaseNames": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseNames((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "dataQueryMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDataQueryMode((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotOptionRecompile": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotOptionRecompile((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxBatchSize((int) value); return true;
            case "maxIterationTransactions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxIterationTransactions((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingDelayMs((long) value); return true;
            case "streamingFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingFetchSize((int) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3551 Negative (Non-Clone)
ID: 1137_978
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor)
    protected AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor) throws Exception {
        super(endpoint, processor);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            LOG.debug("Using RepositoryService found in registry {}", service.getClass().getCanonicalName());
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }

        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #3552 Negative (Non-Clone)
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3553 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1188_1016
ClassID: 1188
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doNext()
    protected Message doNext() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;
        currentEntry = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #3554 Negative (Non-Clone)
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
Pair #3555 Negative (Non-Clone)
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
Pair #3556 Negative (Non-Clone)
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #3557 Negative (Non-Clone)
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
ID: 381_423
ClassID: 381
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
Name: org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSRedelivered(Message message)
    public static Boolean getJMSRedelivered(Message message) {
        if (message == null) {
            return null;
        }

        try {
            return message.getJMSRedelivered();
        } catch (Exception e) {
             
        }

        return null;
    }
Pair #3558 Negative (Non-Clone)
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #3559 Negative (Non-Clone)
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
ID: 2644_2294
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findClass(String key)
    public Optional<Class<?>> findClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, true).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
Pair #3560 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3561 Negative (Non-Clone)
ID: 1249_1083
ClassID: 1249
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.isInputStreamNeededForObject(Object obj)
    protected boolean isInputStreamNeededForObject(Object obj) {
        if (obj == null) {
            return false;
        }

        if (obj instanceof WrappedFile) {
            obj = ((WrappedFile<?>) obj).getFile();
        }
        if (obj instanceof File) {
             
             
            return true;
        }

         
        return false;
    }
ID: 3334_2734
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer)
    public static <T> Supplier<T> memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            try {
                                supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                                valueHolder.lazySet(supplied);
                            } catch (Exception e) {
                                consumer.accept(e);
                            }
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #3562 Negative (Non-Clone)
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
Pair #3563 Negative (Non-Clone)
ID: 1041_903
ClassID: 1041
File: systems/camel-java/components/camel-xslt-saxon/src/main/java/org/apache/camel/component/xslt/saxon/XsltSaxonEndpoint.java
Name: org.apache.camel.component.xslt.saxon.XsltSaxonEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (this.saxonReaderProperties != null) {
             
             
            source = createReaderForSource(source);
        }
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        setCacheCleared(false);
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #3564 Negative (Non-Clone)
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #3565 Negative (Non-Clone)
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
Pair #3566 Negative (Non-Clone)
ID: 1131_970
ClassID: 1131
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.getConsumer(String key, boolean block, long timeout)
    protected KameletConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            KameletConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 445_476
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        consumer.getAsyncProcessor().process(exchange, doneSync -> {
             
            try {
                if (consumer.getConfiguration().isSync()) {
                    sendResponse(ctx, exchange);
                }
            } catch (Exception e) {
                consumer.getExceptionHandler().handleException(e);
            } finally {
                consumer.doneUoW(exchange);
                consumer.releaseExchange(exchange, false);
            }
        });
    }
Pair #3567 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 902_777
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Gmail makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Gmail client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
Pair #3568 Negative (Non-Clone)
ID: 1203_1029
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doSetState(Exchange exchange, AsyncCallback callback)
    private void doSetState(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not publish empty message"));
            callback.done(true);
        }
        LOG.debug("Sending setState [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .setPresenceState()
                .channels(List.of(getChannel(exchange)))
                .state(body)
                .uuid(getUUID(exchange))
                .async((Result<PNSetStateResult> result) -> {
                    LOG.debug("Got setState response [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNSetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #3569 Negative (Non-Clone)
ID: 2363_1856
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode response = node.get("response");
        if (response != null) {
            JsonNode meta = response.get("meta");
            if (meta != null) {
                JsonNode tokens = meta.get("tokens");
                if (tokens != null) {
                    JsonNode outputTokens = tokens.get("output_tokens");
                    return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
                }
            }
        }
        return null;
    }
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
Pair #3570 Negative (Non-Clone)
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3571 Negative (Non-Clone)
ID: 2482_2035
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #3572 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #3573 Negative (Non-Clone)
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #3574 Negative (Non-Clone)
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
ID: 1859_1522
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
Pair #3575 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 3235_2554
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeadersReifier.java
Name: org.apache.camel.reifier.SetHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getHeaders().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one header specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        for (SetHeaderDefinition hdrDef : definition.getHeaders()) {
            valueExprs.add(createExpression(hdrDef.getExpression()));
            Expression nameExpr;
            String key = parseString(hdrDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetHeadersProcessor answer = new SetHeadersProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3576 Negative (Non-Clone)
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #3577 Negative (Non-Clone)
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
ID: 497_524
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
Pair #3578 Negative (Non-Clone)
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #3579 Negative (Non-Clone)
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #3580 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #3581 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3230_2542
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileSizeExpression()
    public static Expression fileSizeExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LENGTH, Long.class);
            }

            @Override
            public String toString() {
                return "file:length";
            }
        };
    }
Pair #3582 Negative (Non-Clone)
ID: 1218_1047
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleProducts(Exchange exchange, String method)
    private Object handleProducts(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Product.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Product.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String productId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Product product = Product.retrieve(productId);
                return product.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Product deleteProduct = Product.retrieve(deleteId);
                return deleteProduct.delete();
            case StripeConstants.METHOD_LIST:
                return Product.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for products: " + method);
        }
    }
ID: 2464_1973
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.tailTraceFiles(Map<Long, Pid> pids, int tail)
    private void tailTraceFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getTraceFile(pid.pid);
            if (Files.exists(file)) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #3583 Negative (Non-Clone)
ID: 1841_1503
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XProducer.java
Name: org.apache.camel.component.plc4x.Plc4XProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
            if (plc4XEndpoint.isConnected() && !plc4XEndpoint.canWrite()) {
                throw new PlcException("This connection (" + plc4XEndpoint.getUri() + ") doesn't support writing.");
            }
        } catch (PlcConnectionException e) {
            if (log.isTraceEnabled()) {
                log.error("Connection setup failed, stopping producer", e);
            } else {
                log.error("Connection setup failed, stopping producer");
            }
            doStop();
        }
    }
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #3584 Negative (Non-Clone)
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #3585 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 2107_1701
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.resolveDataSetCallback(Exchange exchange)
    protected DataSetCallback resolveDataSetCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER) != null) {
            return (DataSetCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER);
        } else if (getEndpoint().getDataSetCallback() != null) {
            return getEndpoint().getDataSetCallback();
        } else {
            throw new IllegalStateException("Cannot resolve DataSet callback.");
        }
    }
Pair #3586 Negative (Non-Clone)
ID: 1111_946
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private void initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getFrsClient() != null) {
            LOG.info(
                    "Instance of FrsClient was set on the endpoint. Skip creation of FrsClient from endpoint parameters");
            this.frsClient = endpoint.getFrsClient();
            return;
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }
        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        frsClient = FrsClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized FRS client");
        }
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3587 Negative (Non-Clone)
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #3588 Negative (Non-Clone)
ID: 3098_2368
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.bindingMode(String mode)
    public RestDefinition bindingMode(String mode) {
        if (getVerbs().isEmpty()) {
            this.bindingMode = mode.toLowerCase();
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setBindingMode(mode.toLowerCase());
        }

        return this;
    }
ID: 220_252
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/transform/Ddb2StreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.ddbstream.transform.Ddb2StreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.ddbstream.getRecords");

        if (message.getHeaders().containsKey(Ddb2StreamConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.ddbstream." + message.getHeader(Ddb2StreamConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Ddb2StreamConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3589 Negative (Non-Clone)
ID: 3170_2438
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsXml(Integer index, Boolean includeBody)
    public String browseMessageAsXml(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsXml(msg, includeBody);
    }
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
Pair #3590 Negative (Non-Clone)
ID: 765_682
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.determineOperation(Exchange exchange)
    private WatsonDiscoveryOperations determineOperation(Exchange exchange) {
        WatsonDiscoveryOperations operation
                = exchange.getIn().getHeader(WatsonDiscoveryConstants.OPERATION, WatsonDiscoveryOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1889_1560
ClassID: 1889
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaUdpProtocolCodecFactory.java
Name: org.apache.camel.component.mina.MinaUdpProtocolCodecFactory.getEncoder(IoSession session)
    public ProtocolEncoder getEncoder(IoSession session) throws Exception {
        return new ProtocolEncoder() {

            public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
                IoBuffer buf = toIoBuffer(message);
                buf.flip();
                out.write(buf);
            }

            public void dispose(IoSession session) throws Exception {
                 
            }
        };
    }
Pair #3591 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3592 Negative (Non-Clone)
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #3593 Negative (Non-Clone)
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
ID: 183_174
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.updateSObjectMultipart(String sObjectName, String id, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void updateSObjectMultipart(
            String sObjectName, String id, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request patch = getRequest("PATCH", sobjectsUrl(sObjectName + "/" + id), headers);
            setAccessToken(patch);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("updateSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                patch.body(multipartContent);
            }

            doHttpRequest(patch, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart update request: " + e.getMessage(), e));
        }
    }
Pair #3594 Negative (Non-Clone)
ID: 18_24
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulHealthProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulHealthProducer target = (org.apache.camel.component.consul.endpoint.ConsulHealthProducer) obj;
        switch (key) {
        case "checks":
        case "CHECKS": target.checks(exchange.getMessage()); return null;
        case "node_checks":
        case "NODE_CHECKS": target.nodeChecks(exchange.getMessage()); return null;
        case "service_checks":
        case "SERVICE_CHECKS": target.serviceChecks(exchange.getMessage()); return null;
        case "service_instances":
        case "SERVICE_INSTANCES": target.serviceInstances(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #3595 Negative (Non-Clone)
ID: 2044_1653
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = rename.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3596 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 2244_1765
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
Pair #3597 Negative (Non-Clone)
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
Pair #3598 Negative (Non-Clone)
ID: 1130_963
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.removeConsumer(String key, DirectConsumer consumer)
    public void removeConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
Pair #3599 Negative (Non-Clone)
ID: 1498_1344
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePCL(String flavor)
    public DocFlavor forMimeTypePCL(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PCL;
        }

        return d;
    }
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
Pair #3600 Negative (Non-Clone)
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #3601 Negative (Non-Clone)
ID: 2233_1761
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPushTag(Exchange exchange, String operation)
    protected void doPushTag(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isEmpty(endpoint.getTagName())) {
                throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName())
                        .add(Constants.R_TAGS + endpoint.getTagName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).add(Constants.R_TAGS + endpoint.getTagName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #3602 Negative (Non-Clone)
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #3603 Negative (Non-Clone)
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #3604 Negative (Non-Clone)
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
Pair #3605 Negative (Non-Clone)
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #3606 Negative (Non-Clone)
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #3607 Negative (Non-Clone)
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
Pair #3608 Negative (Non-Clone)
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #3609 Negative (Non-Clone)
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #3610 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 1008_871
ClassID: 1008
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ODataFeed) {
            index((ODataFeed) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else if (result instanceof ODataEntry) {
            index((ODataEntry) result);
        } else {
            indexDefault(result);
        }
    }
Pair #3611 Negative (Non-Clone)
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #3612 Negative (Non-Clone)
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 3230_2542
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileSizeExpression()
    public static Expression fileSizeExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LENGTH, Long.class);
            }

            @Override
            public String toString() {
                return "file:length";
            }
        };
    }
Pair #3613 Negative (Non-Clone)
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 2098_1695
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPClient client = ftpClient;

        if (client == null) {
             
             
            client = createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (getConfiguration().getActivePortRange() != null) {
             
            String[] parts = getConfiguration().getActivePortRange().split("-");
            if (parts.length != 2) {
                throw new IllegalArgumentException("The option activePortRange should have syntax: min-max");
            }
            int min = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[0]);
            int max = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[1]);
            LOG.debug("Using active port range: {}-{}", min, max);
            client.setActivePortRange(min, max);
        }

         
        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpOperations operations = new FtpOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #3614 Negative (Non-Clone)
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
Pair #3615 Negative (Non-Clone)
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
Pair #3616 Negative (Non-Clone)
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
ID: 283_349
ClassID: 283
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = ProtobufSchemaLoader.std.parse(schema);
            } catch (IOException e) {
                throw new RuntimeCamelException("Failed tp parse Protobuf schema", e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #3617 Negative (Non-Clone)
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #3618 Negative (Non-Clone)
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
Pair #3619 Negative (Non-Clone)
ID: 978_829
ClassID: 978
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
Name: org.apache.camel.processor.aggregate.cassandra.CassandraCamelCodec.unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, ByteBuffer buffer, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe
                = (DefaultExchangeHolder) deserialize(camelContext, new ByteBufferInputStream(buffer), deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #3620 Negative (Non-Clone)
ID: 2481_2033
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 55, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 55, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #3621 Negative (Non-Clone)
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #3622 Negative (Non-Clone)
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
Pair #3623 Negative (Non-Clone)
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
Pair #3624 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #3625 Negative (Non-Clone)
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 3284_2678
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertVariableProcessor.java
Name: org.apache.camel.support.processor.ConvertVariableProcessor.ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName, Class<?> type, String charset, boolean mandatory)
    public ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName,
                                    Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(variableName, "variableName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.variableName = variableName;
        this.toName = toName;
        this.toVariableName = toVariableName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
Pair #3626 Negative (Non-Clone)
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
ID: 2363_1856
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode response = node.get("response");
        if (response != null) {
            JsonNode meta = response.get("meta");
            if (meta != null) {
                JsonNode tokens = meta.get("tokens");
                if (tokens != null) {
                    JsonNode outputTokens = tokens.get("output_tokens");
                    return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
                }
            }
        }
        return null;
    }
Pair #3627 Negative (Non-Clone)
ID: 3275_2651
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.next()
        public Object next() {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext();
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
Pair #3628 Negative (Non-Clone)
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
ID: 1717_1427
ClassID: 1717
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchComponent.java
Name: org.apache.camel.component.opensearch.OpensearchComponent.parseHostAddresses(String ipsString, OpensearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, OpensearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : OpensearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(config.isEnableSSL() ? "HTTPS" : "HTTP", hostname, port));
        }
        return addressesTrAd;
    }
Pair #3629 Negative (Non-Clone)
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #3630 Negative (Non-Clone)
ID: 2607_2238
ClassID: 2607
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
ID: 1405_1256
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSmTemplate(Exchange exchange)
    protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitSm submitSm = new SubmitSm();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitSm.setDataCoding(config.getDataCoding());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            submitSm.setDestAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            submitSm.setDestAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            submitSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            submitSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            submitSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            submitSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitSm.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitSm.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitSm.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitSm.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitSm.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitSm.setReplaceIfPresent(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitSm.setReplaceIfPresent(config.getReplaceIfPresentFlag());
        }

        submitSm.setEsmClass(new ESMClass().value());

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitSm.setOptionalParameters();
            }
        }

        return submitSm;
    }
Pair #3631 Negative (Non-Clone)
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
Pair #3632 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
Pair #3633 Negative (Non-Clone)
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 2107_1700
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStream(Exchange exchange)
    protected DataStream resolveDataStream(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER) != null) {
            return (DataStream) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER);
        } else if (getEndpoint().getDataStream() != null) {
            return getEndpoint().getDataStream();
        } else {
            throw new IllegalArgumentException("No DataStream defined");
        }
    }
Pair #3634 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
Pair #3635 Negative (Non-Clone)
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
ID: 1126_960
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations) {
        String imageBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_BASE64, String.class);
        clientConfigurations.setImageBase64(StringUtils.isEmpty(imageBase64) ? this.endpoint.getImageBase64() : imageBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getImageBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String imageUrl = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_URL, String.class);
        clientConfigurations.setImageUrl(StringUtils.isEmpty(imageUrl) ? this.endpoint.getImageUrl() : imageUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getImageUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String imageFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_FILE_PATH, String.class);
        clientConfigurations
                .setImageFilePath(StringUtils.isEmpty(imageFilePath) ? this.endpoint.getImageFilePath() : imageFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getImageFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of image base64, url and filePath needs to be set");
    }
Pair #3636 Negative (Non-Clone)
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
ID: 1310_1188
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        EventList eventList;
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, eventList.getItems());
    }
Pair #3637 Negative (Non-Clone)
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 3163_2415
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRandomLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRandomLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3638 Negative (Non-Clone)
ID: 1063_921
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlVerifierProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlVerifierProcessor.build()
        XmlSignatureChecker.Input build() {
            return new XmlSignatureChecker.Input() {

                @Override
                public boolean isXmlSchemaValidationExecuted() {
                    return xmlSchemaValidationExecuted;
                }

                @Override
                public int getTotalCountOfSignatures() {
                    return totalCountOfSignatures;
                }

                @Override
                public SignedInfo getSignedInfo() {
                    return signedInfo;
                }

                @Override
                public SignatureValue getSignatureValue() {
                    return signatureValue;
                }

                @Override
                public List<? extends XMLObject> getObjects() {
                    return objects;
                }

                @Override
                public Document getMessageBodyDocument() {
                    return messageBodyDocument;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public Element getCurrentSignatureElement() {
                    return currentSignatureElement;
                }

                @Override
                public int getCurrentCountOfSignatures() {
                    return currentCountOfSignatures;
                }
            };
        }
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #3639 Negative (Non-Clone)
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #3640 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 1125_959
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceVerificationConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceCompareBase64Req base64ReqBody
                        = new FaceCompareBase64Req().withImage1Base64(clientConfigurations.getImageBase64())
                                .withImage2Base64(clientConfigurations.getAnotherImageBase64());
                result = this.frsClient.compareFaceByBase64(new CompareFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceCompareUrlReq urlReqBody = new FaceCompareUrlReq().withImage1Url(clientConfigurations.getImageUrl())
                        .withImage2Url(clientConfigurations.getAnotherImageUrl());
                result = this.frsClient.compareFaceByUrl(new CompareFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream image1InputStream = new FileInputStream(clientConfigurations.getImageFilePath());
                     FileInputStream image2InputStream = new FileInputStream(clientConfigurations.getAnotherImageFilePath())) {
                    CompareFaceByFileRequestBody fileReqBody = new CompareFaceByFileRequestBody()
                            .withImage1File(image1InputStream, getFileName(clientConfigurations.getImageFilePath()))
                            .withImage2File(image2InputStream, getFileName(clientConfigurations.getAnotherImageFilePath()));
                    result = this.frsClient.compareFaceByFile(new CompareFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file paths are invalid: %s, %s", clientConfigurations.getImageFilePath(),
                                    clientConfigurations.getAnotherImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #3641 Negative (Non-Clone)
ID: 53_70
ClassID: 53
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
Pair #3642 Negative (Non-Clone)
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 3334_2734
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer)
    public static <T> Supplier<T> memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            try {
                                supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                                valueHolder.lazySet(supplied);
                            } catch (Exception e) {
                                consumer.accept(e);
                            }
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #3643 Negative (Non-Clone)
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
ID: 657_581
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
Name: org.apache.camel.component.openstack.cinder.CinderEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case CinderConstants.VOLUMES:
                return new VolumeProducer(this, createClient());
            case CinderConstants.SNAPSHOTS:
                return new SnapshotProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #3644 Negative (Non-Clone)
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
ID: 1954_1592
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/ManagementProducer.java
Name: org.apache.camel.component.torchserve.producer.ManagementProducer.unregister(Exchange exchange)
    private void unregister(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        UnregisterOptions options = Optional
                .ofNullable(message.getHeader(TorchServeConstants.UNREGISTER_OPTIONS, UnregisterOptions.class))
                .or(() -> Optional.ofNullable(configuration.getUnregisterOptions()))
                .orElse(UnregisterOptions.empty());
        Response response;
        if (modelVersion == null) {
            response = this.management.unregisterModel(modelName, options);
        } else {
            response = this.management.unregisterModel(modelName, modelVersion, options);
        }
        message.setBody(response.getStatus());
    }
Pair #3645 Negative (Non-Clone)
ID: 2541_2118
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findXmlFiles(File dir, Set<File> xmlFiles)
    public static void findXmlFiles(File dir, Set<File> xmlFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".xml")) {
                    xmlFiles.add(file);
                } else if (file.isDirectory()) {
                    findXmlFiles(file, xmlFiles);
                }
            }
        }
    }
ID: 2507_2057
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf)
    protected static AnnotationSpec yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }
        if (!Strings.isNullOrEmpty(oneOf)) {
            builder.addMember("oneOf", "$S", oneOf);
        }

        return builder.build();
    }
Pair #3646 Negative (Non-Clone)
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
Pair #3647 Negative (Non-Clone)
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 1317_1220
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Config maps Cluster:");
            sb.append(String.format("\n    Master Url: %s", propertiesFunction.getClient().getMasterUrl()));
            sb.append("\n    Login: OAuth Token");
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (cmRefreshTask != null) {
                Instant start = cmRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #3648 Negative (Non-Clone)
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #3649 Negative (Non-Clone)
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #3650 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #3651 Negative (Non-Clone)
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3652 Negative (Non-Clone)
ID: 640_571
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Delete.java
Name: org.apache.camel.component.dhis2.api.Dhis2Delete.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        DeleteOperation deleteOperation = dhis2Client.delete(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        deleteOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    deleteOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            deleteOperation.withResource(resource);
        }

        return deleteOperation.transfer().read();

    }
ID: 3210_2482
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/MessageHistoryDevConsole.java
Name: org.apache.camel.impl.console.MessageHistoryDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
Pair #3653 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
Pair #3654 Negative (Non-Clone)
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
ID: 467_498
ClassID: 467
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
Name: org.apache.camel.component.olingo2.internal.Olingo2ApiCollection.Olingo2ApiCollection()
    private Olingo2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo2ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler");
        apiHelpers.put(Olingo2ApiName.DEFAULT, new ApiMethodHelper<>(Olingo2AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo2AppApiMethod.class, Olingo2ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3655 Negative (Non-Clone)
ID: 378_413
ClassID: 378
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/QueueReplyManager.java
Name: org.apache.camel.component.sjms.reply.QueueReplyManager.createDestination(Session session, String destinationName, boolean topic)
        public Destination createDestination(Session session, String destinationName, boolean topic) throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.createDestination(session, destinationName, topic);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 3237_2559
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.reifier(CamelContext camelContext, TransformerDefinition definition)
    public static TransformerReifier<? extends TransformerDefinition> reifier(
            CamelContext camelContext, TransformerDefinition definition) {

        TransformerReifier<? extends TransformerDefinition> answer = null;
        if (!TRANSFORMERS.isEmpty()) {
             
            BiFunction<CamelContext, TransformerDefinition, TransformerReifier<? extends TransformerDefinition>> reifier
                    = TRANSFORMERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #3656 Negative (Non-Clone)
ID: 2637_2273
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBodyNoWait(String endpointUri, Class<T> type)
    public <T> T receiveBodyNoWait(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receiveNoWait(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 766_693
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.synthesize(Exchange exchange)
    private void synthesize(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String text = exchange.getIn().getHeader(WatsonTextToSpeechConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to synthesize must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String accept = exchange.getIn().getHeader(WatsonTextToSpeechConstants.ACCEPT,
                getEndpoint().getConfiguration().getAccept(), String.class);
        String customizationId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.CUSTOMIZATION_ID,
                getEndpoint().getConfiguration().getCustomizationId(), String.class);

        LOG.trace("Synthesizing text with TTS: voice={}, accept={}", voice, accept);

        SynthesizeOptions.Builder builder = new SynthesizeOptions.Builder()
                .text(text)
                .voice(voice)
                .accept(accept);

        if (customizationId != null && !customizationId.isBlank()) {
            builder.customizationId(customizationId);
        }

        SynthesizeOptions options = builder.build();

        InputStream audioStream = tts.synthesize(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(audioStream);
        message.setHeader(WatsonTextToSpeechConstants.VOICE, voice);
        message.setHeader(WatsonTextToSpeechConstants.ACCEPT, accept);
    }
Pair #3657 Negative (Non-Clone)
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #3658 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #3659 Negative (Non-Clone)
ID: 3210_2482
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/MessageHistoryDevConsole.java
Name: org.apache.camel.impl.console.MessageHistoryDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #3660 Negative (Non-Clone)
ID: 2044_1653
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = rename.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 3164_2423
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEnricher.java
Name: org.apache.camel.management.mbean.ManagedEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3661 Negative (Non-Clone)
ID: 1187_1012
ClassID: 1187
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doHasNext()
    protected boolean doHasNext() {
        try {
            if (zipInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = currentEntry != null;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    zipInputStream.close();
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1195_1023
ClassID: 1195
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        String keyPrefix = type.getName().replace('$', '/');
        Set<T> result = new HashSet<>();

        List<String> keys;
        try {
            keys = kvClient.getKeys(keyPrefix);
        } catch (ConsulException e) {
            return result;
        }

        if (keys != null) {
            Object obj;

            for (String key : keys) {
                 
                key = key.substring(key.lastIndexOf('/') + 1);
                obj = lookupByName(key.replace('$', '/'));
                if (type.isInstance(obj)) {
                    result.add(type.cast(obj));
                }
            }
        }
        return result;
    }
Pair #3662 Negative (Non-Clone)
ID: 1253_1092
ClassID: 1253
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
         
        TransactionTemplate transactionTemplate = resolveTransactionTemplate(definition);
        ObjectHelper.notNull(transactionTemplate, "transactionTemplate", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        TransactionErrorHandler answer = new TransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionTemplate,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
Pair #3663 Negative (Non-Clone)
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3664 Negative (Non-Clone)
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #3665 Negative (Non-Clone)
ID: 3306_2717
ClassID: 3306
File: systems/camel-java/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
Name: org.apache.camel.xml.io.util.XmlStreamReader.XmlStreamReader(final InputStream is, final String httpContentType, final boolean lenient, final String defaultEncoding)
    public XmlStreamReader(final InputStream is, final String httpContentType, final boolean lenient,
                           final String defaultEncoding) throws IOException, XmlStreamReaderException {
        if (defaultEncoding == null) {
            this.defaultEncoding = staticDefaultEncoding;
        } else {
            this.defaultEncoding = defaultEncoding;
        }
        try {
            doHttpStream(is, httpContentType, lenient);
        } catch (final XmlStreamReaderException ex) {
            if (!lenient) {
                throw ex;
            } else {
                doLenientDetection(httpContentType, ex);
            }
        }
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #3666 Negative (Non-Clone)
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
Pair #3667 Negative (Non-Clone)
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #3668 Negative (Non-Clone)
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1856_1515
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
             
             
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #3669 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #3670 Negative (Non-Clone)
ID: 3224_2513
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createIncExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createIncExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val++;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3671 Negative (Non-Clone)
ID: 3231_2545
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyExpression(final String name)
    public static Expression mandatoryBodyExpression(final String name) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                try {
                    return exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "]";
            }
        };
    }
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #3672 Negative (Non-Clone)
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3673 Negative (Non-Clone)
ID: 248_321
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubConsumerAsyncClient createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .consumerGroup(configuration.getConsumerGroupName())
                .prefetchCount(configuration.getPrefetchCount())
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncConsumerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncConsumerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncConsumerClient();
    }
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #3674 Negative (Non-Clone)
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
ID: 2522_2079
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumSqlserverComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumSqlserverComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumSqlserverComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumSqlserverComponent) component).setConfiguration((org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumSqlserverComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInstance": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseInstance((java.lang.String) value); return true;
            case "databaseNames": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseNames((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "dataQueryMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDataQueryMode((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotOptionRecompile": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotOptionRecompile((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxBatchSize((int) value); return true;
            case "maxIterationTransactions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxIterationTransactions((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingDelayMs((long) value); return true;
            case "streamingFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingFetchSize((int) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3675 Negative (Non-Clone)
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3676 Negative (Non-Clone)
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
ID: 3287_2684
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, Marker marker, String message)
    public static void log(Logger log, LoggingLevel level, Marker marker, String message) {
        switch (level) {
            case DEBUG:
                log.debug(marker, message);
                break;
            case ERROR:
                log.error(marker, message);
                break;
            case INFO:
                log.info(marker, message);
                break;
            case TRACE:
                log.trace(marker, message);
                break;
            case WARN:
                log.warn(marker, message);
                break;
            default:
        }
    }
Pair #3677 Negative (Non-Clone)
ID: 698_638
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsert(Exchange exchange, SqlSession session)
    private void doInsert(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Inserting: {} using statement: {}", value, statement);
                result = session.insert(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 3267_2634
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
    public Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotations, Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithAnyPackageScanFilter(annotations, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
Pair #3678 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #3679 Negative (Non-Clone)
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
Pair #3680 Negative (Non-Clone)
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
Pair #3681 Negative (Non-Clone)
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #3682 Negative (Non-Clone)
ID: 2480_2031
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.nodePrefixId = o.getString("nodePrefixId");
                            row.processor = o.getString("from");
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                row.total = stats.get("exchangesTotal").toString();
                                Object num = stats.get("remoteExchangesTotal");
                                if (num != null) {
                                    row.totalRemote = num.toString();
                                }
                                row.inflight = stats.get("exchangesInflight").toString();
                                num = stats.get("remoteExchangesInflight");
                                if (num != null) {
                                    row.inflightRemote = num.toString();
                                }
                                row.failed = stats.get("exchangesFailed").toString();
                                num = stats.get("remoteExchangesFailed");
                                if (num != null) {
                                    row.failedRemote = num.toString();
                                }
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add) {
                                rows.add(row);
                                List<JsonObject> list = o.getCollection("processors");
                                if (list != null) {
                                    addProcessors(row, rows, list);
                                }
                            }
                        }
                    }
                });

         
        if (running || filter != null || group != null) {
            rows.removeIf(r -> {
                boolean keep = true;
                if (filter != null) {
                    keep = PatternHelper.matchPatterns(r.processorId, filter);
                }
                if (!keep && filter != null) {
                    for (String f : filter) {
                        if (!keep) {
                            String w = f.endsWith("*") ? f : f + "*";  
                            keep = PatternHelper.matchPattern(r.processor, w);
                        }
                    }
                }
                 
                if (keep && group != null) {
                    keep = PatternHelper.matchPatterns(r.group, group);
                }
                if (keep && running) {
                    keep = "Started".equals(r.state);
                }
                return !keep;
            });
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #3683 Negative (Non-Clone)
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #3684 Negative (Non-Clone)
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #3685 Negative (Non-Clone)
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #3686 Negative (Non-Clone)
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 1313_1201
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doCreateOrUpdateHPA(Exchange exchange, String operationName, Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation)
    private void doCreateOrUpdateHPA(
            Exchange exchange, String operationName,
            Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation) {
        String hpaName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerSpec hpaSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_SPEC, HorizontalPodAutoscalerSpec.class);
        if (ObjectHelper.isEmpty(hpaName)) {
            LOG.error("{} a specific hpa require specify a hpa name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific hpa require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(hpaSpec)) {
            LOG.error("{} a specific hpa require specify a hpa spec bean", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa spec bean");
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscaler hpaCreating = new HorizontalPodAutoscalerBuilder().withNewMetadata().withName(hpaName)
                .withLabels(labels).endMetadata().withSpec(hpaSpec).build();
        HorizontalPodAutoscaler hpa
                = operation.apply(getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                        .inNamespace(namespaceName)
                        .resource(hpaCreating));

        prepareOutboundMessage(exchange, hpa);
    }
Pair #3687 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #3688 Negative (Non-Clone)
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #3689 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 2602_2223
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShortOrDefault(final String key, final short defaultValue)
    public Short getShortOrDefault(final String key, final short defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #3690 Negative (Non-Clone)
ID: 2457_1956
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));

        boolean http = answer.stream().anyMatch(s -> s.contains("mvn:org.apache.camel:camel-platform-http"));
        if (hasOpenapi(answer) && !http) {
             
            answer.add("mvn:org.apache.camel:camel-platform-http");
        }
        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-springboot:" + hawtioVersion);
        }

        return answer;
    }
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #3691 Negative (Non-Clone)
ID: 744_673
ClassID: 744
File: systems/camel-java/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/consumer/AbstractWordpressConsumer.java
Name: org.apache.camel.component.wordpress.consumer.AbstractWordpressConsumer.process(final Object result)
    protected final void process(final Object result) {
        Exchange exchange = createExchange(false);
        try {
            exchange.getIn().setBody(result);
            getProcessor().process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
        }
        releaseExchange(exchange, false);
    }
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
Pair #3692 Negative (Non-Clone)
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
ID: 658_592
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/FlavorsProducer.java
Name: org.apache.camel.component.openstack.nova.producer.FlavorsProducer.messageToFlavor(Message message)
    private org.openstack4j.model.compute.Flavor messageToFlavor(Message message) {
        Flavor flavor = message.getBody(Flavor.class);
        if (flavor == null) {
            Map headers = message.getHeaders();
            FlavorBuilder flavorBuilder = Builders.flavor();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            flavorBuilder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.VCPU)) {
                flavorBuilder.vcpus(message.getHeader(NovaConstants.VCPU, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RAM)) {
                flavorBuilder.ram(message.getHeader(NovaConstants.RAM, Integer.class));
            }

            if (headers.containsKey(NovaConstants.DISK)) {
                flavorBuilder.disk(message.getHeader(NovaConstants.DISK, Integer.class));
            }

            if (headers.containsKey(NovaConstants.SWAP)) {
                flavorBuilder.swap(message.getHeader(NovaConstants.SWAP, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RXTXFACTOR)) {
                flavorBuilder.rxtxFactor(message.getHeader(NovaConstants.RXTXFACTOR, Integer.class));
            }

            flavor = flavorBuilder.build();
        }

        return flavor;
    }
Pair #3693 Negative (Non-Clone)
ID: 2446_1930
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.eolDate(Row r)
    private String eolDate(Row r) {
        try {
            if (r.eolDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.eolDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.eolDate != null ? r.eolDate : "";
    }
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #3694 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 1244_1069
ClassID: 1244
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Component.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDb2Endpoint endpoint = new InfluxDb2Endpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDBClient target = influxDBClient;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDBClient.class);
        }
        endpoint.setInfluxDBClient(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3695 Negative (Non-Clone)
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3696 Negative (Non-Clone)
ID: 2211_1737
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.failJob(JobRequest message)
    public JobResponse failJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.FailJobRequest.Builder builder = GatewayOuterClass.FailJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            builder = builder.setErrorMessage(message.getFailMessage());
            GatewayOuterClass.FailJobRequest request = builder.build();
            GatewayOuterClass.FailJobResponse failJobResponse = stub.failJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #3697 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 257_336
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
Name: org.apache.camel.component.google.mail.stream.GoogleMailStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange, unreadLabelId);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange, unreadLabelId);
                }

                @Override
                public String toString() {
                    return "GoogleMailStreamConsumerOnCompletion";
                }
            });

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #3698 Negative (Non-Clone)
ID: 682_616
ClassID: 682
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route),
                                "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route),
                                "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route),
                                "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                longTaskTimer = new OpenTelemetryLongTaskTimer(
                        route, meter, attributes, configuration, namingStrategy, longTaskTimeUnit);
            }
        }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #3699 Negative (Non-Clone)
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3700 Negative (Non-Clone)
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
Pair #3701 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #3702 Negative (Non-Clone)
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
Pair #3703 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #3704 Negative (Non-Clone)
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #3705 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
Pair #3706 Negative (Non-Clone)
ID: 634_564
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveTriggerKey(Action action, String routeId)
    public TriggerKey retrieveTriggerKey(Action action, String routeId) {
        ScheduledRouteDetails scheduledRouteDetails = getScheduledRouteDetails(routeId);
        TriggerKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartTriggerKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopTriggerKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendTriggerKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeTriggerKey();
        }

        return result;
    }
ID: 444_472
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketDelimiterDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketDelimiterDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            Object result = delegateDecoder.decode(ctx, payload);
            AddressedEnvelope<Object, InetSocketAddress> addressEvelop
                    = new DefaultAddressedEnvelope<>(result, msg.recipient(), msg.sender());
            out.add(addressEvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #3707 Negative (Non-Clone)
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
ID: 2465_1975
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
         
        line = unescapeAnsi(line);
        String after = StringHelper.after(line, "---", line);
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(after).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #3708 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 3243_2574
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/MethodCallExpressionReifier.java
Name: org.apache.camel.reifier.language.MethodCallExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[7];
        properties[0] = asResultType();
        properties[1] = definition.getInstance();
        properties[2] = parseString(definition.getMethod());
        properties[3] = definition.getBeanType();
        properties[4] = parseString(definition.getRef());
        properties[5] = parseString(definition.getScope());
        properties[6] = parseString(definition.getValidate());
        return properties;
    }
Pair #3709 Negative (Non-Clone)
ID: 119_111
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPublicKeyName(String publicKeyName)
    public void setPublicKeyName(String publicKeyName) {
        if (context != null && publicKeyName != null) {
            PublicKey pk = context.getRegistry().lookupByNameAndType(publicKeyName, PublicKey.class);
            if (pk != null) {
                setPublicKey(pk);
            }
        }
        if (publicKeyName != null) {
            this.publicKeyName = publicKeyName;
        }
    }
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3710 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #3711 Negative (Non-Clone)
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3712 Negative (Non-Clone)
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #3713 Negative (Non-Clone)
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
Pair #3714 Negative (Non-Clone)
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
ID: 900_771
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/BatchGoogleCalendarClientFactory.java
Name: org.apache.camel.component.google.calendar.BatchGoogleCalendarClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Calendar makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Calendar client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Calendar.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Calendar client.", e);
        }
    }
Pair #3715 Negative (Non-Clone)
ID: 379_417
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.JmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 697_637
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsertList(Exchange exchange, SqlSession session)
    private void doInsertList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Inserting: {} using statement: {}", in, statement);
            result = session.insert(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3716 Negative (Non-Clone)
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #3717 Negative (Non-Clone)
ID: 3099_2370
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableNoContentResponse(boolean enableNoContentResponse)
    public RestDefinition enableNoContentResponse(boolean enableNoContentResponse) {
        if (getVerbs().isEmpty()) {
            this.enableNoContentResponse = Boolean.toString(enableNoContentResponse);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableNoContentResponse(Boolean.toString(enableNoContentResponse));
        }

        return this;
    }
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3718 Negative (Non-Clone)
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
ID: 1992_1633
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferMessageStoreFactory(SessionSettings settings)
    private MessageStoreFactory inferMessageStoreFactory(SessionSettings settings) throws ConfigError {
        Set<MessageStoreFactory> impliedMessageStoreFactories = new HashSet<>();
        isJdbcStore(settings, impliedMessageStoreFactories);
        isFileStore(settings, impliedMessageStoreFactories);
        isSleepycatStore(settings, impliedMessageStoreFactories);
        if (impliedMessageStoreFactories.size() > 1) {
            throw new ConfigError("Ambiguous message store implied in configuration.");
        }
        MessageStoreFactory messageStoreFactory;
        if (impliedMessageStoreFactories.size() == 1) {
            messageStoreFactory = impliedMessageStoreFactories.iterator().next();
        } else {
            messageStoreFactory = new MemoryStoreFactory();
        }
        LOG.info("Inferring message store factory: {}", messageStoreFactory.getClass().getName());
        return messageStoreFactory;
    }
Pair #3719 Negative (Non-Clone)
ID: 3290_2690
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.createKeyManagers()
    public KeyManager[] createKeyManagers() throws GeneralSecurityException, IOException {
        LOG.trace("Creating KeyManager[] from KeyManagersParameters [{}].", this);
        KeyManager[] keyManagers;

        String kmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (this.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, this.parsePropertyValue(this.getProvider()));
        }

        LOG.debug("KeyManagerFactory [{}], initialized from [{}], is using provider [{}] and algorithm [{}].",
                kmf, this, kmf.getProvider(), kmf.getAlgorithm());

        char[] kmfPassword = null;
        if (this.getKeyPassword() != null) {
            kmfPassword = this.parsePropertyValue(this.getKeyPassword()).toCharArray();
        }

        KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        keyManagers = kmf.getKeyManagers();

        LOG.debug("KeyManager[] [{}], initialized from KeyManagerFactory [{}].", keyManagers, kmf);

        return keyManagers;
    }
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3720 Negative (Non-Clone)
ID: 1856_1514
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 2647_2303
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName, boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
    public boolean setProperty(
            CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName,
            boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
            throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, typeConverter, target, name, value, refName, allowBuilderPattern,
                allowPrivateSetter, ignoreCase);
    }
Pair #3721 Negative (Non-Clone)
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #3722 Negative (Non-Clone)
ID: 1310_1182
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodList podList;

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
ID: 1204_1031
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetHistory(Exchange exchange, AsyncCallback callback)
    private void doGetHistory(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .history()
                .channel(getChannel(exchange))
                .async((Result<PNHistoryResult> result) -> {
                    LOG.debug("Got history message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHistoryResult r = result.getOrNull();
                        processMessage(exchange, callback, r != null ? r.getMessages() : null);
                    }
                });
    }
Pair #3723 Negative (Non-Clone)
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 1492_1331
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final String node)
    public static String nodeValue(final String namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #3724 Negative (Non-Clone)
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #3725 Negative (Non-Clone)
ID: 1957_1595
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.fetch(Exchange exchange)
    private void fetch(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        FetchResponse result
                = index.fetch(elements);

        populateFetchResponse(result, exchange);
    }
ID: 27_49
ClassID: 27
File: systems/camel-java/components/camel-snmp/src/generated/java/org/apache/camel/component/snmp/SnmpConvertersLoader.java
Name: org.apache.camel.component.snmp.SnmpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.snmp4j.PDU.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toString((org.snmp4j.PDU) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.snmp.OIDList.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toOIDList((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3726 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 2247_1771
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryModifiedEvent<?, ?> event)
    public void processEvent(CacheEntryModifiedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getNewValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ENTRY_CREATED, event.isCreated());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                    });
        }
    }
Pair #3727 Negative (Non-Clone)
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3728 Negative (Non-Clone)
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 2603_2229
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getMapOrDefault(final String key, final T defaultValue)
    public <T extends Map<?, ?>> T getMapOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            returnable = defaultValue;
        }
        return (T) returnable;
    }
Pair #3729 Negative (Non-Clone)
ID: 3098_2362
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.disabled(String disabled)
    public RestDefinition disabled(String disabled) {
        if (getVerbs().isEmpty()) {
            this.disabled = disabled;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setDisabled(disabled);
        }

        return this;
    }
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #3730 Negative (Non-Clone)
ID: 2521_2076
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyComponent) component).setClientMode((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyComponent) component).setNativeTransport((boolean) value); return true;
            case "options": getOrCreateConfiguration((NettyComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 2603_2228
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getCollectionOrDefault(final String key, final T defaultValue)
    public <T extends Collection<?>> T getCollectionOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        return (T) returnable;
    }
Pair #3731 Negative (Non-Clone)
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #3732 Negative (Non-Clone)
ID: 3236_2557
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/CustomTransformerReifier.java
Name: org.apache.camel.reifier.transformer.CustomTransformerReifier.doCreateTransformer()
    protected Transformer doCreateTransformer() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'className' must be specified for customTransformer");
        }
        Transformer transformer;
        String ref = parseString(definition.getRef());
        if (ref != null) {
            transformer = lookupByNameAndType(ref, Transformer.class);
            if (transformer == null) {
                throw new IllegalArgumentException("Cannot find transformer with ref:" + definition.getRef());
            }
            if (transformer.getName() != null || transformer.getFrom() != null || transformer.getTo() != null) {
                throw new IllegalArgumentException(
                        String.format("Transformer '%s' is already in use. Please check if duplicate transformer exists.",
                                definition.getRef()));
            }
        } else {
            Class<Transformer> transformerClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Transformer.class);
            if (transformerClass == null) {
                throw new IllegalArgumentException("Cannot find transformer class: " + definition.getClassName());
            }
             
            transformer = camelContext.getInjector().newInstance(transformerClass, false);  
        }
        transformer.setCamelContext(camelContext);
        return transformer.setName(definition.getScheme(), definition.getName()).setFrom(definition.getFromType())
                .setTo(definition.getToType());
    }
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #3733 Negative (Non-Clone)
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #3734 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3735 Negative (Non-Clone)
ID: 2468_1988
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #3736 Negative (Non-Clone)
ID: 243_311
ClassID: 243
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
Pair #3737 Negative (Non-Clone)
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 242_310
ClassID: 242
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("region", propertiesFunction.getRegion());
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                root.put("login", "DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                root.put("login", "ProfileCredentialsProvider");
            } else {
                root.put("login", "Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                root.put("refreshEnabled", aws.isRefreshEnabled());
                root.put("refreshPeriod", aws.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
Pair #3738 Negative (Non-Clone)
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
ID: 3162_2411
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedInflightRepository.java
Name: org.apache.camel.management.mbean.ManagedInflightRepository.browse(String routeId, int limit, boolean sortByLongestDuration)
    public TabularData browse(String routeId, int limit, boolean sortByLongestDuration) {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listInflightExchangesTabularType());
            Collection<InflightRepository.InflightExchange> exchanges
                    = inflightRepository.browse(routeId, limit, sortByLongestDuration);

            for (InflightRepository.InflightExchange entry : exchanges) {
                CompositeType ct = CamelOpenMBeanTypes.listInflightExchangesCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3739 Negative (Non-Clone)
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #3740 Negative (Non-Clone)
ID: 1122_953
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/models/OBSRegion.java
Name: org.apache.camel.component.huaweicloud.obs.models.OBSRegion.valueOf(String regionId)
    public static String valueOf(String regionId) {
        if (ObjectHelper.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            String endpoint = REGIONS.get(regionId.toLowerCase());
            if (ObjectHelper.isNotEmpty(endpoint)) {
                return endpoint;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #3741 Negative (Non-Clone)
ID: 2041_1648
ClassID: 2041
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.doShutdown()
    protected void doShutdown() throws Exception {
        super.doShutdown();

        if (cloudTrailClient != null) {
            try {
                cloudTrailClient.close();
            } catch (Exception e) {
                 
            }
            cloudTrailClient = null;
        }

        if (sqsClient != null) {
            try {
                sqsClient.close();
            } catch (Exception e) {
                 
            }
            sqsClient = null;
        }

        updates.clear();
    }
ID: 383_428
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager()
    protected ReplyManager createReplyManager() throws Exception {
         
        ReplyManager temporaryQueueReplyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
        temporaryQueueReplyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        temporaryQueueReplyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(temporaryQueueReplyManager, name);
        temporaryQueueReplyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(temporaryQueueReplyManager);

        return temporaryQueueReplyManager;
    }
Pair #3742 Negative (Non-Clone)
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #3743 Negative (Non-Clone)
ID: 3287_2684
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, Marker marker, String message)
    public static void log(Logger log, LoggingLevel level, Marker marker, String message) {
        switch (level) {
            case DEBUG:
                log.debug(marker, message);
                break;
            case ERROR:
                log.error(marker, message);
                break;
            case INFO:
                log.info(marker, message);
                break;
            case TRACE:
                log.trace(marker, message);
                break;
            case WARN:
                log.warn(marker, message);
                break;
            default:
        }
    }
ID: 3109_2394
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteConfigurationsDefinition.java
Name: org.apache.camel.model.RouteConfigurationsDefinition.createRouteConfiguration(String id)
    protected RouteConfigurationDefinition createRouteConfiguration(String id) {
        RouteConfigurationDefinition config = new RouteConfigurationDefinition();
        if (id != null) {
            config.setId(id);
        }
        if (resource != null) {
            config.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(config, camelContext);
        return config;
    }
Pair #3744 Negative (Non-Clone)
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3745 Negative (Non-Clone)
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
ID: 902_776
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Drive makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Google Drive client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret, scopes);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Drive client.", e);
        }
    }
Pair #3746 Negative (Non-Clone)
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #3747 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
Pair #3748 Negative (Non-Clone)
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
Pair #3749 Negative (Non-Clone)
ID: 769_702
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonSpeechToTextConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom language models, language filter: {}", language);

        ListLanguageModelsOptions.Builder builder = new ListLanguageModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListLanguageModelsOptions options = builder.build();
        LanguageModels customModels = stt.listLanguageModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<LanguageModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #3750 Negative (Non-Clone)
ID: 1161_992
ClassID: 1161
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            new RouteBuilder() {
                @Override
                public void configure() {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            }.addRoutesToCamelContext(context);

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #3751 Negative (Non-Clone)
ID: 635_569
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #3752 Negative (Non-Clone)
ID: 634_564
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveTriggerKey(Action action, String routeId)
    public TriggerKey retrieveTriggerKey(Action action, String routeId) {
        ScheduledRouteDetails scheduledRouteDetails = getScheduledRouteDetails(routeId);
        TriggerKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartTriggerKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopTriggerKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendTriggerKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeTriggerKey();
        }

        return result;
    }
ID: 1859_1523
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
Pair #3753 Negative (Non-Clone)
ID: 3236_2557
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/CustomTransformerReifier.java
Name: org.apache.camel.reifier.transformer.CustomTransformerReifier.doCreateTransformer()
    protected Transformer doCreateTransformer() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'className' must be specified for customTransformer");
        }
        Transformer transformer;
        String ref = parseString(definition.getRef());
        if (ref != null) {
            transformer = lookupByNameAndType(ref, Transformer.class);
            if (transformer == null) {
                throw new IllegalArgumentException("Cannot find transformer with ref:" + definition.getRef());
            }
            if (transformer.getName() != null || transformer.getFrom() != null || transformer.getTo() != null) {
                throw new IllegalArgumentException(
                        String.format("Transformer '%s' is already in use. Please check if duplicate transformer exists.",
                                definition.getRef()));
            }
        } else {
            Class<Transformer> transformerClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Transformer.class);
            if (transformerClass == null) {
                throw new IllegalArgumentException("Cannot find transformer class: " + definition.getClassName());
            }
             
            transformer = camelContext.getInjector().newInstance(transformerClass, false);  
        }
        transformer.setCamelContext(camelContext);
        return transformer.setName(definition.getScheme(), definition.getName()).setFrom(definition.getFromType())
                .setTo(definition.getToType());
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #3754 Negative (Non-Clone)
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1187_1014
ClassID: 1187
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.hasNext()
    public boolean hasNext() {
        try {
            if (tarInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = tarInputStream.getCurrentEntry() != null && tarInputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    tarInputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
                if (first && parent == null) {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #3755 Negative (Non-Clone)
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3756 Negative (Non-Clone)
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
Pair #3757 Negative (Non-Clone)
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 1062_914
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setDataObjectFormatIdentifierDocumentationReferences(List<String> dataObjectFormatIdentifierDocumentationReferences)
    public void setDataObjectFormatIdentifierDocumentationReferences(
            List<String> dataObjectFormatIdentifierDocumentationReferences) {
        if (dataObjectFormatIdentifierDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'dataObjectFormatIdentifierDocumentationReferences' is null");
        }
        for (String ref : dataObjectFormatIdentifierDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one reference of the identifier of the data object format is null or empty");
            }
        }
        this.dataObjectFormatIdentifierDocumentationReferences
                = new ArrayList<>(dataObjectFormatIdentifierDocumentationReferences);
    }
Pair #3758 Negative (Non-Clone)
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #3759 Negative (Non-Clone)
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #3760 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 103_74
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClient(Keycloak keycloakClient, Exchange exchange)
    private void updateClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).update((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client requires POJO request with ClientRepresentation");
        }
    }
Pair #3761 Negative (Non-Clone)
ID: 3307_2719
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums)
    private void handleNotFound(
            ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums) {
        result.addInvalidEnum(longKey, value);
        result.addInvalidEnumChoices(longKey, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(longKey, suggestions);
            }
        }
    }
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
Pair #3762 Negative (Non-Clone)
ID: 176_157
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.CLOSED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #3763 Negative (Non-Clone)
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 3308_2720
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateSimple(ClassLoader classLoader, String simple, boolean predicate)
    private LanguageValidationResult doValidateSimple(ClassLoader classLoader, String simple, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = simple.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(simple);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("createPredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("createExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")  
                        || cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleParserException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {  
                    try {
                        Method method = cause.getClass().getMethod("getShortMessage");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            String msg = (String) result;
                            answer.setShortError(msg);
                        }
                    } catch (Exception i) {
                         
                    }

                    if (answer.getShortError() == null) {
                         
                        String msg = answer.getError();
                         
                        int idx = msg.indexOf(" at location ");
                        if (idx > 0) {
                            msg = msg.substring(0, idx);
                            answer.setShortError(msg);
                        }
                    }
                }
            }
        }

        return answer;
    }
Pair #3764 Negative (Non-Clone)
ID: 1315_1216
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doGetConfigMap(Exchange exchange)
    protected void doGetConfigMap(Exchange exchange) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
        }
        ConfigMap configMap;
        if (namespaceName != null) {
            configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get();
        } else {
            configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
        }

        prepareOutboundMessage(exchange, configMap);
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3765 Negative (Non-Clone)
ID: 2640_2282
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeaders(Map<String, Object> headers)
    public FluentProducerTemplate withHeaders(Map<String, Object> headers) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeaders and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.putAll(headers);
        return clone;
    }
ID: 1739_1452
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
Pair #3766 Negative (Non-Clone)
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3767 Negative (Non-Clone)
ID: 1861_1527
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
Pair #3768 Negative (Non-Clone)
ID: 3108_2392
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplatesDefinition.java
Name: org.apache.camel.model.RouteTemplatesDefinition.createRouteTemplate()
    protected RouteTemplateDefinition createRouteTemplate() {
        RouteTemplateDefinition template = new RouteTemplateDefinition();
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            template.getRoute().setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            template.setResource(resource);
        }
        return template;
    }
ID: 2386_1881
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onQuit(IRCUser user, String msg)
        public void onQuit(IRCUser user, String msg) {
            if (configuration.isOnQuit()) {
                Exchange exchange = createOnQuitExchange(user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3769 Negative (Non-Clone)
ID: 3250_2595
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteConfigurationRefs()
    protected void initRouteConfigurationRefs() throws Exception {
         
        if (getRouteConfigurationRefs() != null) {
            for (RouteConfigurationContextRefDefinition ref : getRouteConfigurationRefs()) {
                List<RouteConfigurationDefinition> defs = ref.lookupRouteConfigurations(getContext());
                for (RouteConfigurationDefinition def : defs) {
                    LOG.debug("Adding route configuration from {} -> {}", ref, def);
                    getRouteConfigurations().add(def);
                }
            }
        }
    }
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
Pair #3770 Negative (Non-Clone)
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3771 Negative (Non-Clone)
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 2446_1930
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.eolDate(Row r)
    private String eolDate(Row r) {
        try {
            if (r.eolDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.eolDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.eolDate != null ? r.eolDate : "";
    }
Pair #3772 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #3773 Negative (Non-Clone)
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 467_497
ClassID: 467
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.GoogleSheetsApiCollection()
    private GoogleSheetsApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleSheetsApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.SPREADSHEETS, new ApiMethodHelper<>(SheetsSpreadsheetsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsApiMethod.class, GoogleSheetsApiName.SPREADSHEETS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.DATA, new ApiMethodHelper<>(SheetsSpreadsheetsValuesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsValuesApiMethod.class, GoogleSheetsApiName.DATA);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3774 Negative (Non-Clone)
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3775 Negative (Non-Clone)
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
ID: 15_14
ClassID: 15
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/EvictionType.java
Name: org.apache.camel.component.caffeine.EvictionType.getEvictionType(String name)
    public static EvictionType getEvictionType(String name) {
        if (name == null) {
            return null;
        }
        for (EvictionType evictionType : VALUES) {
            if (evictionType.toString().equalsIgnoreCase(name) || evictionType.name().equalsIgnoreCase(name)) {
                return evictionType;
            }
        }
        throw new IllegalArgumentException(String.format("Eviction type '%s' is not supported by this component.", name));
    }
Pair #3776 Negative (Non-Clone)
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
Pair #3777 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 970_810
ClassID: 970
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/SqlStoredEndpoint.java
Name: org.apache.camel.component.sql.stored.SqlStoredEndpoint.doStart()
    protected void doStart() throws Exception {
        if (isServiceLocationEnabled()) {
             
            BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext());
            DataSource ds = getDataSource();
             
            if (ds != null && ds.getClass().getName().endsWith("ClientProxy")) {
                DataSource actual = UnwrapHelper.unwrapClientProxy(ds);
                if (actual != null) {
                    ds = actual;
                }
            }
            serviceUrl = SqlServiceLocationHelper.getJDBCURLFromDataSource(bi, ds);

            serviceMetadata = new HashMap<>();
            String user = SqlServiceLocationHelper.getUsernameFromConnectionFactory(bi, ds);
            if (user != null) {
                serviceMetadata.put("username", user);
            }
        }
    }
Pair #3778 Negative (Non-Clone)
ID: 2503_2047
ClassID: 2503
File: systems/camel-java/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
Name: org.apache.camel.builder.endpoint.EndpointRouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class)
                        .removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
Pair #3779 Negative (Non-Clone)
ID: 1739_1451
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketComponent.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
Pair #3780 Negative (Non-Clone)
ID: 1322_1230
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doGet(Exchange exchange, String namespaceName)
    protected void doGet(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            throw new IllegalArgumentException("Get a specific custom resource require specify a custom resource name");
        }
        JsonObject customResourceJSON = new JsonObject();
        try {
            customResourceJSON = new JsonObject(
                    getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName)
                            .withName(customResourceName)
                            .require()
                            .get());

        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

        prepareOutboundMessage(exchange, customResourceJSON);
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #3781 Negative (Non-Clone)
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
Pair #3782 Negative (Non-Clone)
ID: 1248_1081
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createOutHeaderFunction()
    private XPathFunction createOutHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (exchange.get() != null && !list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getOut().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 909_787
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateDownloadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateDownloadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateDownloadUrlRequest.class);
            response = client.generateDownloadUrl(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            GenerateDownloadUrlRequest request = GenerateDownloadUrlRequest.newBuilder().setName(cfName.toString())
                    .build();
            response = client.generateDownloadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getDownloadUrl());
    }
Pair #3783 Negative (Non-Clone)
ID: 3108_2392
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplatesDefinition.java
Name: org.apache.camel.model.RouteTemplatesDefinition.createRouteTemplate()
    protected RouteTemplateDefinition createRouteTemplate() {
        RouteTemplateDefinition template = new RouteTemplateDefinition();
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            template.getRoute().setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            template.setResource(resource);
        }
        return template;
    }
ID: 3336_2737
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Method method, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Method method, String fqnAnnotationName, String key) {
        for (Annotation ann : method.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #3784 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #3785 Negative (Non-Clone)
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
Pair #3786 Negative (Non-Clone)
ID: 449_478
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethGetLogs(Message message)
    void ethGetLogs(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);
        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthLog> request = web3j.ethGetLogs(ethFilter);
        setRequestId(message, request);
        EthLog response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getLogs());
        }
    }
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
Pair #3787 Negative (Non-Clone)
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #3788 Negative (Non-Clone)
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
Pair #3789 Negative (Non-Clone)
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
Pair #3790 Negative (Non-Clone)
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
Pair #3791 Negative (Non-Clone)
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3792 Negative (Non-Clone)
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
ID: 1305_1140
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusLosingLeadership()
    private void refreshStatusLosingLeadership() {
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be lost in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is losing leadership now...", logPrefix);
        this.currentState = State.LEADERSHIP_LOST;
        this.serializedExecutor.execute(this::refreshStatus);
    }
Pair #3793 Negative (Non-Clone)
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #3794 Negative (Non-Clone)
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
Pair #3795 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
Pair #3796 Negative (Non-Clone)
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3797 Negative (Non-Clone)
ID: 714_652
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
Name: org.apache.camel.observation.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2362_1854
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof GetIngestionJobRequest) {
                GetIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.getIngestionJob((GetIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Get Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareGetIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            String ingestionJobId;
            GetIngestionJobRequest.Builder builder = GetIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getIngestionJobId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID))) {
                    ingestionJobId = exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID, String.class);
                } else {
                    throw new IllegalArgumentException("IngestionJobId must be specified");
                }
            } else {
                ingestionJobId = getConfiguration().getIngestionJobId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            builder.ingestionJobId(ingestionJobId);
            GetIngestionJobResponse output = bedrockAgentClient.getIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareGetIngestionJobResponse(output, message);
        }
    }
Pair #3798 Negative (Non-Clone)
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #3799 Negative (Non-Clone)
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
ID: 3165_2425
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
Name: org.apache.camel.management.mbean.ManagedEndpointRegistry.listEndpoints()
    public TabularData listEndpoints() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listEndpointsTabularType());
            Collection<Endpoint> endpoints = endpointRegistry.values();
            for (Endpoint endpoint : endpoints) {
                CompositeType ct = CamelOpenMBeanTypes.listEndpointsCompositeType();
                String url = endpoint.getEndpointUri();
                if (sanitize) {
                    url = URISupport.sanitizeUri(url);
                }

                boolean fromStatic = endpointRegistry.isStatic(url);
                boolean fromDynamic = endpointRegistry.isDynamic(url);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "url", "static", "dynamic" }, new Object[] { url, fromStatic, fromDynamic });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3800 Negative (Non-Clone)
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #3801 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
Pair #3802 Negative (Non-Clone)
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
Pair #3803 Negative (Non-Clone)
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
ID: 836_717
ClassID: 836
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Producer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Producer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectionOptions);
        }
    }
Pair #3804 Negative (Non-Clone)
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #3805 Negative (Non-Clone)
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #3806 Negative (Non-Clone)
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3807 Negative (Non-Clone)
ID: 633_563
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.SimpleScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartDate() == null && getRouteStopDate() == null && getRouteSuspendDate() == null
                    && getRouteResumeDate() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartDate() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopDate() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendDate() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeDate() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 3291_2692
ClassID: 3291
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("KeyManagersParameters[keyStore=");
        builder.append(keyStore);
        builder.append(", keyPassword=");
        builder.append("********");
        builder.append(", provider=");
        builder.append(provider);
        builder.append(", algorithm=");
        builder.append(algorithm);
        builder.append("]");
        return builder.toString();
    }
Pair #3808 Negative (Non-Clone)
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #3809 Negative (Non-Clone)
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #3810 Negative (Non-Clone)
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1720_1437
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #3811 Negative (Non-Clone)
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3812 Negative (Non-Clone)
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
Pair #3813 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 1256_1102
ClassID: 1256
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3814 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 452_482
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.moveFile(String fileId, String destinationFolderId, String newName)
    public BoxFile moveFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToMove = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFile) fileToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFile) fileToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #3815 Negative (Non-Clone)
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
Pair #3816 Negative (Non-Clone)
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #3817 Negative (Non-Clone)
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #3818 Negative (Non-Clone)
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 103_74
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClient(Keycloak keycloakClient, Exchange exchange)
    private void updateClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).update((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client requires POJO request with ClientRepresentation");
        }
    }
Pair #3819 Negative (Non-Clone)
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #3820 Negative (Non-Clone)
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
Pair #3821 Negative (Non-Clone)
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 467_499
ClassID: 467
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
Name: org.apache.camel.component.olingo4.internal.Olingo4ApiCollection.Olingo4ApiCollection()
    private Olingo4ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo4ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo4ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler", "data");
        apiHelpers.put(Olingo4ApiName.DEFAULT, new ApiMethodHelper<>(Olingo4AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo4AppApiMethod.class, Olingo4ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3822 Negative (Non-Clone)
ID: 51_63
ClassID: 51
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheManager.java
Name: org.apache.camel.component.jcache.JCacheManager.close()
    public void close() throws IOException {
        lock.lock();
        try {
            if (configuration != null) {
                if (cache != null) {
                    cache.close();
                }

                if (manager != null) {
                    manager.close();
                }

                if (provider != null) {
                    provider.close();
                }
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #3823 Negative (Non-Clone)
ID: 376_409
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, Destination replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            Destination replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
Pair #3824 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #3825 Negative (Non-Clone)
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
Pair #3826 Negative (Non-Clone)
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #3827 Negative (Non-Clone)
ID: 1426_1276
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeEnvelopedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeEnvelopedDataEntity.ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt, CMSEnvelopedDataGenerator dataGenerator, OutputEncryptor encryptor, String encryptedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeEnvelopedDataEntity(MimeEntity entity2Encrypt,
                                                   CMSEnvelopedDataGenerator dataGenerator,
                                                   OutputEncryptor encryptor,
                                                   String encryptedContentTransferEncoding,
                                                   boolean isMainBody)
                                                                       throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "enveloped-data"),
                new BasicNameValuePair("name", "smime.p7m")),
              encryptedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.encryptedData = createEncryptedData(entity2Encrypt, dataGenerator, encryptor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3828 Negative (Non-Clone)
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3829 Negative (Non-Clone)
ID: 3108_2393
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
Name: org.apache.camel.model.RoutesDefinition.createRoute()
    protected RouteDefinition createRoute() {
        RouteDefinition route = new RouteDefinition();
        route.setCamelContext(getCamelContext());
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            route.setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            route.setResource(resource);
        }
        return route;
    }
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #3830 Negative (Non-Clone)
ID: 2098_1695
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPClient client = ftpClient;

        if (client == null) {
             
             
            client = createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (getConfiguration().getActivePortRange() != null) {
             
            String[] parts = getConfiguration().getActivePortRange().split("-");
            if (parts.length != 2) {
                throw new IllegalArgumentException("The option activePortRange should have syntax: min-max");
            }
            int min = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[0]);
            int max = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[1]);
            LOG.debug("Using active port range: {}-{}", min, max);
            client.setActivePortRange(min, max);
        }

         
        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpOperations operations = new FtpOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
ID: 2269_1789
ClassID: 2269
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createQueryFactory()
    protected QueryFactory createQueryFactory() {
        if (query != null) {
            return QueryBuilder.query(query);
        } else if (namedQuery != null) {
            return QueryBuilder.namedQuery(namedQuery);
        } else if (nativeQuery != null) {
            if (resultClass != null) {
                return QueryBuilder.nativeQuery(nativeQuery, resultClass);
            } else {
                return QueryBuilder.nativeQuery(nativeQuery);
            }
        } else {
            Class<?> entityType = getEndpoint().getEntityType();

            if (entityType == null) {
                return null;
            } else {
                 
                String name = getEntityName(entityType);
                if (name != null) {
                    return QueryBuilder.query("select x from " + name + " x");
                } else {
                     
                    return QueryBuilder.query("select x from " + entityType.getSimpleName() + " x");
                }
            }
        }
    }
Pair #3831 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3832 Negative (Non-Clone)
ID: 27_43
ClassID: 27
File: systems/camel-java/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2663_2344
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.calculateAndSetMaxRequestsPerPeriod(final Exchange exchange)
        public void calculateAndSetMaxRequestsPerPeriod(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle
                        = TotalRequestsThrottler.this.getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumRequestsPerPeriod must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxRequestsPerPeriodExpression was evaluated as null: "
                                                       + TotalRequestsThrottler.this.getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            while (delta > 0) {
                                delayQueue.take();
                                delta--;
                                if (LOG.isTraceEnabled()) {
                                    LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}",
                                            exchange.getExchangeId());
                                }
                            }
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            for (int i = 0; i < delta; i++) {
                                delayQueue.put(new ThrottlePermit(-1));
                            }
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #3833 Negative (Non-Clone)
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
Pair #3834 Negative (Non-Clone)
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3835 Negative (Non-Clone)
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
Pair #3836 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 1311_1192
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doListEventsByLabel(Exchange exchange)
    protected void doListEventsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_EVENTS_LABELS, Map.class);
        EventList eventList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get events by labels require specify a labels set");
            throw new IllegalArgumentException("Get events by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().withLabels(labels).list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, eventList.getItems());
    }
Pair #3837 Negative (Non-Clone)
ID: 2232_1759
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowBranches(Exchange exchange, String operation)
    protected void doShowBranches(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.branchList().setListMode(ListMode.ALL).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
Pair #3838 Negative (Non-Clone)
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #3839 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #3840 Negative (Non-Clone)
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #3841 Negative (Non-Clone)
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #3842 Negative (Non-Clone)
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
Pair #3843 Negative (Non-Clone)
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
Pair #3844 Negative (Non-Clone)
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
ID: 1185_1008
ClassID: 1185
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength)
    private void createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = fileLength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            ZipArchiveEntry entry = new ZipArchiveEntry(sb + element);
            entry.setSize(length);
            zos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #3845 Negative (Non-Clone)
ID: 3271_2643
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #3846 Negative (Non-Clone)
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 3257_2612
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.startView(String namespace)
    public void startView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force start of view {}", namespace);
                        holder.startView();
                    } else {
                        LOG.warn("Error forcing start of view {}: it does not exist", namespace);
                    }
                });
    }
Pair #3847 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #3848 Negative (Non-Clone)
ID: 1751_1454
ClassID: 1751
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (folder == null) {
             
            return;
        }
        if (!scheduler) {
             
            return;
        }

        File dir = new File(folder);
        if (dir.exists() && dir.isDirectory()) {
            String msg = startupMessage(dir);
            if (msg != null) {
                LOG.info(msg);
            }

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.debug(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                 
                if (isRecursive) {
                    this.folderKeys = new HashMap<>();
                    registerRecursive(watcher, path, modifier);
                } else {
                    registerPathToWatcher(modifier, path, watcher);
                }

                task = new WatchFileChangesTask(watcher, path);

                executorService = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this,
                        "FileWatcherReloadStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #3849 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3850 Negative (Non-Clone)
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
ID: 1725_1448
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.getCharsetFromExchange(Exchange exchange)
    public static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(VertxHttpConstants.CONTENT_TYPE, String.class);
            charset = IOHelper.getCharsetNameFromContentType(contentType);
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #3851 Negative (Non-Clone)
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
ID: 376_410
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, String replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            String replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
Pair #3852 Negative (Non-Clone)
ID: 740_665
ClassID: 740
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
Name: org.apache.camel.maven.config.ConnectorConfigGenerator.generateJavaClass()
    private void generateJavaClass() {
        setPackage();
        setImports();
        setClassNameAndType();
        setClassFields();
        setSettersAndGettersMethods();
        setCreateConnectorConfigurationMethod();
        setConfigureConnectorClassMethod();
        setValidateConnectorConfiguration();
        setGetConnectorDatabaseType();
    }
ID: 1480_1322
ClassID: 1480
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaCamelProcessor.java
Name: org.apache.camel.component.rxjava.engine.RxJavaCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flowable<Exchange> flow = Flowable.create(camelEmitter::set, BackpressureStrategy.MISSING);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                    flow.onBackpressureDrop(this::onBackPressure)
                            .doAfterNext(this::onItemEmitted)
                            .subscribe(this.publisher);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                    flow.doAfterNext(this::onItemEmitted)
                            .onBackpressureLatest()
                            .subscribe(this.publisher);
                } else {
                    flow.doAfterNext(this::onItemEmitted)
                            .onBackpressureBuffer()
                            .subscribe(this.publisher);
                }

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3853 Negative (Non-Clone)
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3854 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #3855 Negative (Non-Clone)
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3856 Negative (Non-Clone)
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #3857 Negative (Non-Clone)
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #3858 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
Pair #3859 Negative (Non-Clone)
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #3860 Negative (Non-Clone)
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3861 Negative (Non-Clone)
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
ID: 1310_1188
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        EventList eventList;
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, eventList.getItems());
    }
Pair #3862 Negative (Non-Clone)
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
ID: 1011_877
ClassID: 1011
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Producer.java
Name: org.apache.camel.component.olingo2.Olingo2Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo2Constants.RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }

        return false;
    }
Pair #3863 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 467_500
ClassID: 467
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.AS2ApiCollection()
    private AS2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(AS2ApiName.class);
        final Map<Class<? extends ApiMethod>, AS2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName", "receiptDeliveryOption", "ediMessageCharset", "userName", "password", "accessToken");
        apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper<>(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.SERVER, new ApiMethodHelper<>(AS2ServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ServerManagerApiMethod.class, AS2ApiName.SERVER);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.RECEIPT, new ApiMethodHelper<>(AS2AsyncMDNServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2AsyncMDNServerManagerApiMethod.class, AS2ApiName.RECEIPT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3864 Negative (Non-Clone)
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 597_552
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
Name: org.apache.camel.component.fhir.FhirJsonDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newJsonParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));

        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
Pair #3865 Negative (Non-Clone)
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
Pair #3866 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 1992_1633
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferMessageStoreFactory(SessionSettings settings)
    private MessageStoreFactory inferMessageStoreFactory(SessionSettings settings) throws ConfigError {
        Set<MessageStoreFactory> impliedMessageStoreFactories = new HashSet<>();
        isJdbcStore(settings, impliedMessageStoreFactories);
        isFileStore(settings, impliedMessageStoreFactories);
        isSleepycatStore(settings, impliedMessageStoreFactories);
        if (impliedMessageStoreFactories.size() > 1) {
            throw new ConfigError("Ambiguous message store implied in configuration.");
        }
        MessageStoreFactory messageStoreFactory;
        if (impliedMessageStoreFactories.size() == 1) {
            messageStoreFactory = impliedMessageStoreFactories.iterator().next();
        } else {
            messageStoreFactory = new MemoryStoreFactory();
        }
        LOG.info("Inferring message store factory: {}", messageStoreFactory.getClass().getName());
        return messageStoreFactory;
    }
Pair #3867 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #3868 Negative (Non-Clone)
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 412_445
ClassID: 412
File: systems/camel-java/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
Name: org.apache.camel.component.rest.RestProducer.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #3869 Negative (Non-Clone)
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
Pair #3870 Negative (Non-Clone)
ID: 437_452
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureClientSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Client SSL handler configured and added to the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> decoders = producer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        List<ChannelHandler> encoders = producer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

         
        if (producer.getConfiguration().getRequestTimeout() > 0) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Using request timeout {} millis", producer.getConfiguration().getRequestTimeout());
            }
            ChannelHandler timeout
                    = new ReadTimeoutHandler(producer.getConfiguration().getRequestTimeout(), TimeUnit.MILLISECONDS);
            addToPipeline("timeout", channelPipeline, timeout);
        }

         
        addToPipeline("handler", channelPipeline, new ClientChannelHandler(producer));

        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
Pair #3871 Negative (Non-Clone)
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #3872 Negative (Non-Clone)
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
Pair #3873 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 584_550
ClassID: 584
File: systems/camel-java/components/camel-fhir/camel-fhir-api/src/main/java/org/apache/camel/component/fhir/api/FhirHistory.java
Name: org.apache.camel.component.fhir.api.FhirHistory.processOptionalParams(Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped)
    private <T extends IBaseBundle> void processOptionalParams(
            Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped) {
        if (count != null) {
            tiHistoryTyped.count(count);
        }
        if (theCutoff != null) {
            tiHistoryTyped.since(theCutoff);
        }
        if (cutoff != null) {
            tiHistoryTyped.since(cutoff);
        }
    }
Pair #3874 Negative (Non-Clone)
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #3875 Negative (Non-Clone)
ID: 2211_1736
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.throwError(JobRequest message)
    public JobResponse throwError(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.ThrowErrorRequest.Builder builder = GatewayOuterClass.ThrowErrorRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setErrorMessage(message.getErrorMessage());
            builder = builder.setErrorCode(message.getErrorCode());
            GatewayOuterClass.ThrowErrorRequest request = builder.build();
            GatewayOuterClass.ThrowErrorResponse failJobResponse = stub.throwError(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #3876 Negative (Non-Clone)
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
ID: 1401_1247
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        byte[] message = getShortMessage(exchange.getIn());

        ReplaceSm replaceSm = createReplaceSmTempate(exchange);
        replaceSm.setShortMessage(message);

        if (log.isDebugEnabled()) {
            log.debug("Sending replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        try {
            session.replaceShortMessage(
                    replaceSm.getMessageId(),
                    TypeOfNumber.valueOf(replaceSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(replaceSm.getSourceAddrNpi()),
                    replaceSm.getSourceAddr(),
                    replaceSm.getScheduleDeliveryTime(),
                    replaceSm.getValidityPeriod(),
                    new RegisteredDelivery(replaceSm.getRegisteredDelivery()),
                    replaceSm.getSmDefaultMsgId(),
                    replaceSm.getShortMessage());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Sent replacement command for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), replaceSm.getMessageId());
        }

        Message rspMsg = ExchangeHelper.getResultMessage(exchange);
        rspMsg.setHeader(SmppConstants.ID, replaceSm.getMessageId());
    }
Pair #3877 Negative (Non-Clone)
ID: 658_584
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.messageToRouter(Message message)
    private Router messageToRouter(Message message) {
        Router router = message.getBody(Router.class);

        if (router == null) {
            Map headers = message.getHeaders();
            RouterBuilder builder = Builders.router();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            router = builder.build();
        }
        return router;
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #3878 Negative (Non-Clone)
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #3879 Negative (Non-Clone)
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #3880 Negative (Non-Clone)
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #3881 Negative (Non-Clone)
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
ID: 444_474
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketObjectEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketObjectEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof Serializable) {
            Serializable payload = (Serializable) msg.content();
            ByteBuf buf = ctx.alloc().buffer();
            delegateObjectEncoder.encode(ctx, payload, buf);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(buf, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not a java.io.Serializable instance.");
        }
    }
Pair #3882 Negative (Non-Clone)
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
Pair #3883 Negative (Non-Clone)
ID: 2272_1794
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.query(final String query)
    public static QueryBuilder query(final String query) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createQuery(query);
            }

            @Override
            public String toString() {
                return "Query: " + query + getParameterDescription();
            }
        };
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #3884 Negative (Non-Clone)
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 1807_1479
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePushImageRequest(DockerClient client, Message message)
    private PushImageCmd executePushImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Push Image Request");

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        ObjectHelper.notNull(name, "Image name must be specified");

        PushImageCmd pushImageCmd = client.pushImageCmd(name);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (tag != null) {
            pushImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pushImageCmd.withAuthConfig(authConfig);
        }

        return pushImageCmd;

    }
Pair #3885 Negative (Non-Clone)
ID: 2605_2234
ClassID: 2605
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #3886 Negative (Non-Clone)
ID: 3230_2538
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsoluteExpression()
    public static Expression fileAbsoluteExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolute", Boolean.class);
            }

            @Override
            public String toString() {
                return "file:absolute";
            }
        };
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #3887 Negative (Non-Clone)
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
Pair #3888 Negative (Non-Clone)
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
ID: 2600_2218
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
        boolean isFirstElement = true;
        final Iterator<Object> elements = this.iterator();
        writable.write('[');
        while (elements.hasNext()) {
            if (isFirstElement) {
                isFirstElement = false;
            } else {
                writable.write(',');
            }
            Jsoner.serialize(elements.next(), writable);
        }
        writable.write(']');
    }
Pair #3889 Negative (Non-Clone)
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #3890 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
Pair #3891 Negative (Non-Clone)
ID: 2204_1732
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.read(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<T> responseHandler)
    public <T> void read(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<T> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<T>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        readContent(uriInfo, headersToMap(result.getAllHeaders()),
                                result.getEntity() != null ? result.getEntity().getContent() : null, responseHandler);
                    }

                });
    }
ID: 110_101
ClassID: 110
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpPluginRegistry.java
Name: org.apache.camel.component.platform.http.PlatformHttpPluginRegistry.register(PlatformHttpPlugin plugin)
    public boolean register(PlatformHttpPlugin plugin) {
        if (getPlugin(plugin.getId()).isPresent()) {
            return false;
        }

        boolean result = plugins.add(plugin);
        if (result) {
            CamelContextAware.trySetCamelContext(plugin, camelContext);
            ServiceHelper.startService(plugin);
            LOG.debug("platform-http-plugin with id {} successfully registered", plugin.getId());
        }
        return result;
    }
Pair #3892 Negative (Non-Clone)
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
ID: 1860_1524
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildDataPath(String secretPath)
    private String buildDataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/data/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/data/" + secretPath;
            } else {
                return secretsEngine + "/data/" + secretPath;
            }
        }
    }
Pair #3893 Negative (Non-Clone)
ID: 1549_1370
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.register(ServiceDefinition definition)
    public void register(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            ServiceInstance<MetaData> instance = ServiceInstance.<MetaData> builder()
                    .address(computeServiceHost(definition))
                    .port(definition.getPort())
                    .name(definition.getName())
                    .id(definition.getId())
                    .payload(new MetaData(definition.getMetadata()))
                    .build();

            serviceDiscovery.registerService(instance);

             
            serviceList.add(definition.getId());
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3894 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 1863_1532
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
Pair #3895 Negative (Non-Clone)
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
Pair #3896 Negative (Non-Clone)
ID: 1975_1611
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomCvPredictor.predict(Exchange exchange, Image image)
    protected T predict(Exchange exchange, Image image) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Image, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, image);
        try (Predictor<Image, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(image);
        } catch (TranslateException e) {
            LOG.error("Could not process input or output", e);
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
Pair #3897 Negative (Non-Clone)
ID: 1694_1422
ClassID: 1694
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (Exception ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        }
    }
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #3898 Negative (Non-Clone)
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
ID: 1038_896
ClassID: 1038
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
Pair #3899 Negative (Non-Clone)
ID: 1423_1268
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.close()
    public void close() {
        if (acceptorThread != null) {
            lock.lock();
            try {
                try {
                     
                    if (serversocket != null) {
                        serversocket.close();
                    }
                } catch (IOException e) {
                    LOG.debug(e.getMessage(), e);
                } finally {
                    acceptorThread = null;
                    listenerService = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 3167_2430
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
Pair #3900 Negative (Non-Clone)
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
Pair #3901 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #3902 Negative (Non-Clone)
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
ID: 1214_1036
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }
        Fault fault = new Fault();
        fault.setFaultcode(FAULT_CODE_SERVER);
        fault.setFaultstring(exception.getMessage());
        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #3903 Negative (Non-Clone)
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #3904 Negative (Non-Clone)
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #3905 Negative (Non-Clone)
ID: 467_497
ClassID: 467
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.GoogleSheetsApiCollection()
    private GoogleSheetsApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleSheetsApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.SPREADSHEETS, new ApiMethodHelper<>(SheetsSpreadsheetsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsApiMethod.class, GoogleSheetsApiName.SPREADSHEETS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.DATA, new ApiMethodHelper<>(SheetsSpreadsheetsValuesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsValuesApiMethod.class, GoogleSheetsApiName.DATA);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #3906 Negative (Non-Clone)
ID: 1407_1260
ClassID: 1407
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppUtils.java
Name: org.apache.camel.component.smpp.SmppUtils.copySubmitMulti(SubmitMulti src)
    public static SubmitMulti copySubmitMulti(SubmitMulti src) {
        SubmitMulti dest = new SubmitMulti();
        dest.setCommandId(src.getCommandId());
        dest.setCommandLength(src.getCommandLength());
        dest.setCommandStatus(src.getCommandStatus());
        dest.setDataCoding(src.getDataCoding());
        dest.setDestAddresses(src.getDestAddresses());
        dest.setEsmClass(src.getEsmClass());
        dest.setOptionalParameters(src.getOptionalParameters());
        dest.setPriorityFlag(src.getPriorityFlag());
        dest.setProtocolId(src.getProtocolId());
        dest.setRegisteredDelivery(src.getRegisteredDelivery());
        dest.setReplaceIfPresentFlag(src.getReplaceIfPresentFlag());
        dest.setScheduleDeliveryTime(src.getScheduleDeliveryTime());
        dest.setSequenceNumber(src.getSequenceNumber());
        dest.setServiceType(src.getServiceType());
        dest.setShortMessage(src.getShortMessage());
        dest.setSmDefaultMsgId(src.getSmDefaultMsgId());
        dest.setSourceAddr(src.getSourceAddr());
        dest.setSourceAddrNpi(src.getSourceAddrNpi());
        dest.setSourceAddrTon(src.getSourceAddrTon());
        dest.setValidityPeriod(src.getValidityPeriod());
        return dest;
    }
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
Pair #3907 Negative (Non-Clone)
ID: 1492_1334
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final UUID node)
    public static String nodeValue(final String namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
Pair #3908 Negative (Non-Clone)
ID: 2585_2185
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.evaluateTemplate(final String templateName, final MainModel model)
    private static String evaluateTemplate(final String templateName, final MainModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (MainModel.MainGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 1550_1372
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslySetData(ProductionContext ctx)
    private OperationResult synchronouslySetData(ProductionContext ctx) throws Exception {

        SetDataOperation setData = new SetDataOperation(ctx.connection, ctx.node, ctx.payload);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
Pair #3909 Negative (Non-Clone)
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #3910 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3911 Negative (Non-Clone)
ID: 2670_2358
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfGroup(String key)
    public int forceCompletionOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force completion triggered for correlation key: {}", key);
                 
                exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                Exchange answer = onCompletion(key, exchange, exchange, false, false);
                if (answer != null) {
                    onSubmitCompletion(key, answer);
                }
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force completion of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #3912 Negative (Non-Clone)
ID: 2538_2114
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadRuntimeProviderVersion(String groupId, String artifactId, String version)
    public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String gav = String.format("%s:%s:%s", groupId, artifactId, version);
            resolve(mavenDownloader, gav, version.contains("SNAPSHOT"));

            this.runtimeProviderVersion = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load runtime provider version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3913 Negative (Non-Clone)
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3914 Negative (Non-Clone)
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #3915 Negative (Non-Clone)
ID: 1164_999
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.close()
    public void close() throws IOException {
        Subscription subscription;
        lock.lock();
        try {
            subscription = this.subscription;
        } finally {
            lock.unlock();
        }

        if (subscription != null) {
            subscription.cancel();
        }
    }
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #3916 Negative (Non-Clone)
ID: 2365_1864
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange)
    private void processConverseStreamingRequest(ConverseStreamRequest request, Exchange exchange) {
        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            org.apache.camel.Message message = getMessageForResponse(exchange);
            org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata metadata
                    = new org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createChunksHandler(
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().converseStream(
                        request,
                        org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.createCompleteHandler(
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setConverseStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Converse Stream command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
Pair #3917 Negative (Non-Clone)
ID: 23_31
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2527_2097
ClassID: 2527
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/JavaKnownImportsDownloader.java
Name: org.apache.camel.main.download.JavaKnownImportsDownloader.determineImports(String content)
    private static List<String> determineImports(String content) {
        List<String> answer = new ArrayList<>();
        final Matcher matcher = IMPORT_PATTERN.matcher(content);
        while (matcher.find()) {
            String imp = matcher.group(1);
            imp = imp.trim();
            answer.add(imp);
        }
        return answer;
    }
Pair #3918 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #3919 Negative (Non-Clone)
ID: 1720_1437
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3920 Negative (Non-Clone)
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #3921 Negative (Non-Clone)
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
Pair #3922 Negative (Non-Clone)
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 1886_1555
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration)
    protected void configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                        type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
                LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                        codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
            }
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #3923 Negative (Non-Clone)
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 1720_1436
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
Pair #3924 Negative (Non-Clone)
ID: 662_602
ClassID: 662
File: systems/camel-java/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetAnnotationExpressionFactory.java
Name: org.apache.camel.language.datasonnet.DatasonnetAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
Pair #3925 Negative (Non-Clone)
ID: 1162_994
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setData(T data)
    public void setData(T data) {
        Objects.requireNonNull(data, "data must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.data = data;
        flushCycle();
    }
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #3926 Negative (Non-Clone)
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #3927 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
Pair #3928 Negative (Non-Clone)
ID: 1001_857
ClassID: 1001
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo2Consumer consumer = new Olingo2Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
ID: 1308_1158
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Event, EventList, Resource<Event>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Event, EventList, Resource<Event>> client
                        = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Event, EventList, Resource<Event>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #3929 Negative (Non-Clone)
ID: 1892_1562
ClassID: 1892
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
Pair #3930 Negative (Non-Clone)
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
Pair #3931 Negative (Non-Clone)
ID: 2504_2052
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withIsSecret(JsonNode node)
        public AnnotationBuilder withIsSecret(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withIsSecret(node.asBoolean());
        }
ID: 1305_1139
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusBecomingLeader()
    private void refreshStatusBecomingLeader() {
         
         
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be effective in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
        this.currentState = State.LEADER;
        this.serializedExecutor.execute(this::refreshStatus);
    }
Pair #3932 Negative (Non-Clone)
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
Pair #3933 Negative (Non-Clone)
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #3934 Negative (Non-Clone)
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2247_1771
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryModifiedEvent<?, ?> event)
    public void processEvent(CacheEntryModifiedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getNewValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ENTRY_CREATED, event.isCreated());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                    });
        }
    }
Pair #3935 Negative (Non-Clone)
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
Pair #3936 Negative (Non-Clone)
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 382_425
ClassID: 382
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping JmsReplyManager: {} from processing replies from: {}", replyManager,
                            endpoint.getReplyTo() != null ? endpoint.getReplyTo() : "temporary queue");
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #3937 Negative (Non-Clone)
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
Pair #3938 Negative (Non-Clone)
ID: 2611_2249
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(PojoBeanModel model)
    public static JsonObject asJsonObject(PojoBeanModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("bean", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #3939 Negative (Non-Clone)
ID: 3231_2546
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.messageOgnlExpression(final String name, final String ognl)
    public static Expression messageOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object msg = exchange.getMessage(type);
                if (msg != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, msg, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "messageOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
Pair #3940 Negative (Non-Clone)
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #3941 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1314_1211
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation)
    private void doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation) {
        String jobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobSpec jobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_SPEC, JobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(jobName)) {
            LOG.error("{} a specific job require specify a job name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific job require specify a job name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific job require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(jobSpec)) {
            LOG.error("{} a specific job require specify a job spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a job spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobBuilder jobCreatingBuilder = new JobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).endMetadata()
                    .withSpec(jobSpec);
        } else {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(jobSpec);
        }
        Job job = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespaceName)
                        .resource(jobCreatingBuilder.build()));

        prepareOutboundMessage(exchange, job);
    }
Pair #3942 Negative (Non-Clone)
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #3943 Negative (Non-Clone)
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
Pair #3944 Negative (Non-Clone)
ID: 2446_1930
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.eolDate(Row r)
    private String eolDate(Row r) {
        try {
            if (r.eolDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.eolDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.eolDate != null ? r.eolDate : "";
    }
ID: 1130_967
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.receive(String requestUriPattern, HttpRequestHandler handler)
    public void receive(String requestUriPattern, HttpRequestHandler handler) {
        if (listenerThread != null) {
            lock.lock();
            try {
                listenerThread.registerHandler(requestUriPattern, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3945 Negative (Non-Clone)
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #3946 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 1914_1577
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
Pair #3947 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #3948 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 2516_2075
ClassID: 2516
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsoleHelper.java
Name: org.apache.camel.impl.console.ConsoleHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt > 0) {
            int pos = location.lastIndexOf(':');
             
            if (pos < location.length() - 1) {
                String num = location.substring(pos + 1);
                try {
                    return Integer.valueOf(num);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #3949 Negative (Non-Clone)
ID: 2653_2317
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.hasHeaderPatterns()
    private boolean hasHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return true;
            }
        }
        return false;
    }
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3950 Negative (Non-Clone)
ID: 2638_2277
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(String endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            String endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
Pair #3951 Negative (Non-Clone)
ID: 1459_1312
ClassID: 1459
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DeleteTableCommand.java
Name: org.apache.camel.component.aws2.ddb.DeleteTableCommand.execute()
    public void execute() {
        TableDescription tableDescription = ddbClient
                .deleteTable(DeleteTableRequest.builder().tableName(determineTableName()).build()).tableDescription();

        HashMap<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.PROVISIONED_THROUGHPUT, tableDescription.provisionedThroughput());
        tmp.put(Ddb2Constants.CREATION_DATE, tableDescription.creationDateTime());
        tmp.put(Ddb2Constants.ITEM_COUNT, tableDescription.itemCount());
        tmp.put(Ddb2Constants.KEY_SCHEMA, tableDescription.keySchema());
        tmp.put(Ddb2Constants.TABLE_NAME, tableDescription.tableName());
        tmp.put(Ddb2Constants.TABLE_SIZE, tableDescription.tableSizeBytes());
        tmp.put(Ddb2Constants.TABLE_STATUS, tableDescription.tableStatus());
        addToResults(tmp);
    }
ID: 1304_1138
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseSecretPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseSecretPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        Secret sec = getClient().secrets().withName(name).get();
        if (sec != null) {
             
            answer = sec.getStringData() != null ? sec.getStringData().get(key) : null;
            if (answer == null) {
                 
                answer = sec.getData() != null ? sec.getData().get(key) : null;
                if (answer != null) {
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
Pair #3952 Negative (Non-Clone)
ID: 177_159
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback)
    public void createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithJobResponse(callback, request);
    }
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #3953 Negative (Non-Clone)
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
Pair #3954 Negative (Non-Clone)
ID: 3168_2432
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.start()
    public void start() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().startRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error starting route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #3955 Negative (Non-Clone)
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #3956 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
Pair #3957 Negative (Non-Clone)
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 1498_1341
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeJPEG(String flavor)
    public DocFlavor forMimeTypeJPEG(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.JPEG;
        }

        return d;
    }
Pair #3958 Negative (Non-Clone)
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
Pair #3959 Negative (Non-Clone)
ID: 1913_1574
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.startRouteImpl(Route route)
    private void startRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Stopped) {
            LOG.info("Starting {}", route.getId());
            startRoute(route);
        } else if (routeStatus == ServiceStatus.Suspended) {
            LOG.info("Resuming {}", route.getId());
            startConsumer(route.getConsumer());
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #3960 Negative (Non-Clone)
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3961 Negative (Non-Clone)
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
ID: 923_797
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubLiteEndpoint endpoint = (GooglePubsubLiteEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/locations/%s/topics/%s", endpoint.getProjectId(), endpoint.getLocation(),
                endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getMessage().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);
        Map<String, String> attributes = exchange.getMessage().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
        String orderingKey = exchange.getMessage().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getMessage().setHeader(GooglePubsubLiteConstants.MESSAGE_ID, messageIdFuture.get());
    }
Pair #3962 Negative (Non-Clone)
ID: 1405_1256
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSmTemplate(Exchange exchange)
    protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitSm submitSm = new SubmitSm();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitSm.setDataCoding(config.getDataCoding());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            submitSm.setDestAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            submitSm.setDestAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            submitSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            submitSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            submitSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            submitSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitSm.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitSm.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitSm.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitSm.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitSm.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitSm.setReplaceIfPresent(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitSm.setReplaceIfPresent(config.getReplaceIfPresentFlag());
        }

        submitSm.setEsmClass(new ESMClass().value());

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitSm.setOptionalParameters();
            }
        }

        return submitSm;
    }
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
Pair #3963 Negative (Non-Clone)
ID: 682_615
ClassID: 682
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                LongTaskTimer.Builder builder = LongTaskTimer.builder(namingStrategy.getLongTaskName(route))
                        .tags(route != null ? namingStrategy.getTags(route) : namingStrategy.getTags(camelContext))
                        .description(route != null ? "Route long task metric" : "CamelContext long task metric");
                if (configuration.getLongTaskInitiator() != null) {
                    configuration.getLongTaskInitiator().accept(builder);
                }
                longTaskTimer = builder.register(meterRegistry);
            }
        }
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
Pair #3964 Negative (Non-Clone)
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 1310_1187
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
Pair #3965 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
Pair #3966 Negative (Non-Clone)
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
Pair #3967 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 640_572
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Put.java
Name: org.apache.camel.component.dhis2.api.Dhis2Put.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PutOperation putOperation = dhis2Client.put(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        putOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    putOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            putOperation.withResource(resource);
        }

        return putOperation.transfer().read();
    }
Pair #3968 Negative (Non-Clone)
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 3103_2382
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.allowDuplicates()
    public ResequenceDefinition allowDuplicates() {
        if (streamConfig != null) {
            throw new IllegalStateException("allowDuplicates() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setAllowDuplicates(Boolean.toString(true));
        return this;
    }
Pair #3969 Negative (Non-Clone)
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #3970 Negative (Non-Clone)
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
Pair #3971 Negative (Non-Clone)
ID: 1307_1144
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Namespace Consumer");
        if (executor != null) {
            KubernetesHelper.close(nsWatcher, nsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #3972 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
Pair #3973 Negative (Non-Clone)
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
Pair #3974 Negative (Non-Clone)
ID: 2294_1806
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.deleteCluster(EcsClient ecsClient, Exchange exchange)
    private void deleteCluster(EcsClient ecsClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                ecsClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, ECS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return ecsClient.deleteCluster(DeleteClusterRequest.builder().cluster(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(ECS2Constants.CLUSTER_ARN, response.cluster().clusterArn());
                    }
                });
    }
ID: 2463_1971
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.readTraceFiles(Map<Long, Pid> pids)
    private int readTraceFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getTraceFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #3975 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
Pair #3976 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 239_293
ClassID: 239
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/EventhubsReloadTriggerTask.java
Name: org.apache.camel.component.azure.key.vault.EventhubsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #3977 Negative (Non-Clone)
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
ID: 2576_2166
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.asJsonObject(DevConsoleModel model)
    private JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "console");
        if (model.group != null) {
            jo.put("group", model.getGroup());
        } else {
            jo.put("group", "camel");
        }
        jo.put("name", model.getName());
        if (model.getDisplayName() != null) {
            jo.put("title", asTitle(model.getDisplayName()));
        } else {
            jo.put("title", asTitle(model.getName()));
        }
        jo.put("description", model.getDescription());
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("console", jo);
        return root;
    }
Pair #3978 Negative (Non-Clone)
ID: 1232_1056
ClassID: 1232
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
Name: org.apache.camel.component.atom.AtomComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        AtomEndpoint atom = (AtomEndpoint) endpoint;
        if (atom.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            URI remainingUri = URISupport.createRemainingURI(new URI(remaining), parameters);
            feedUri = remainingUri.toString();
        } else {
            feedUri = remaining;
        }

        atom.setFeedUri(feedUri);
    }
ID: 1039_899
ClassID: 1039
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");
        }

        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("jetty", config);

        boolean cors = config.isEnableCORS();
        if (cors) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("jetty", scheme, host, port, path, map);

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

        boolean binding = map.containsKey("httpBindingRef") || map.containsKey("httpBinding");

        if (!binding) {
             
            endpoint.setHttpBinding(new JettyRestHttpBinding(endpoint));
             
            endpoint.setEnableMultipartFilter(false);
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

         
        ServiceHelper.startService(endpoint);

        return consumer;
    }
Pair #3979 Negative (Non-Clone)
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #3980 Negative (Non-Clone)
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 778_703
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createArbitratySecret(Exchange exchange)
    private void createArbitratySecret(Exchange exchange) {
        ArbitrarySecretPrototype.Builder arbitrarySecretResourceBuilder = new ArbitrarySecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            arbitrarySecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        String payload = exchange.getMessage().getBody(String.class);
        if (ObjectHelper.isEmpty(payload)) {
            throw new IllegalArgumentException(
                    "Secret payload must be provided in the message body for createArbitrarySecret operation.");
        }
        arbitrarySecretResourceBuilder.payload(payload);
        arbitrarySecretResourceBuilder.secretType(ArbitrarySecretPrototype.SecretType.ARBITRARY);
        ArbitrarySecretPrototype arbitrarySecretResource = arbitrarySecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(arbitrarySecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #3981 Negative (Non-Clone)
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
ID: 2666_2350
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);

        sb.append("setVariables[");
        int variableIndex = 0;
        for (Expression expression : expressions) {
            if (variableIndex > 0) {
                sb.append("; ");
            }
            sb.append(variableNames.get(variableIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #3982 Negative (Non-Clone)
ID: 1256_1104
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #3983 Negative (Non-Clone)
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #3984 Negative (Non-Clone)
ID: 1984_1626
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/CodeInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.CodeInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionType> detected = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (!detectTypes.contains(pattern.getType())) {
                continue;
            }

            if (pattern.getPattern().matcher(text).find()) {
                detected.add(pattern.getType());

                if (strict) {
                    return failure(String.format(
                            "Potential code injection detected: %s. " +
                                                 "Please remove any code or command patterns from your message.",
                            pattern.getType()));
                }
            }
        }

         
        if (!strict && detected.size() >= 2) {
            return failure(String.format(
                    "Multiple potential code injection patterns detected: %s. " +
                                         "Please rephrase your message without code-like syntax.",
                    detected));
        }

        return success();
    }
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
Pair #3985 Negative (Non-Clone)
ID: 1000_854
ClassID: 1000
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createOlingo4App(Olingo4Configuration configuration)
    private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (IOException | GeneralSecurityException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo4AppImpl olingo4App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo4AppWrapper(olingo4App);
        apiProxy.getOlingo4App().setContentType(configuration.getContentType());
        apiProxy.getOlingo4App().setHttpHeaders(configuration.getHttpHeaders());

        return apiProxy;
    }
ID: 1540_1358
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) {
        LOG.trace("toCamelMessage: {}", response);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(response.getHttpResponse(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(response.getInputStream());
        return answer;
    }
Pair #3986 Negative (Non-Clone)
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
Pair #3987 Negative (Non-Clone)
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
Pair #3988 Negative (Non-Clone)
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #3989 Negative (Non-Clone)
ID: 2271_1793
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createDeleteHandler()
    protected DeleteHandler<Object> createDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, Consumed.class);
            if (methods.size() > 1) {
                throw new IllegalArgumentException(
                        "Only one method can be annotated with the @Consumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }
        if (getEndpoint().isConsumeDelete()) {
            return (EntityManager em, Object entityBean, Exchange exchange) -> em.remove(entityBean);
        }

        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };

    }
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
Pair #3990 Negative (Non-Clone)
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 1856_1514
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #3991 Negative (Non-Clone)
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2458_1958
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyGradleWrapper()
    protected void copyGradleWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, "gradle/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path gradlewPath = Paths.get(BUILD_DIR, "gradlew");
        Path gradlewBatPath = Paths.get(BUILD_DIR, "gradlew.bat");
        Path wrapperJarPath = wrapperPath.resolve("gradle-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("gradle-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew")) {
            Files.copy(is, gradlewPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew.bat")) {
            Files.copy(is, gradlewBatPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(gradlewPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(gradlewBatPath, "rwxr-xr-x");
    }
Pair #3992 Negative (Non-Clone)
ID: 1315_1216
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doGetConfigMap(Exchange exchange)
    protected void doGetConfigMap(Exchange exchange) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
        }
        ConfigMap configMap;
        if (namespaceName != null) {
            configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get();
        } else {
            configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
        }

        prepareOutboundMessage(exchange, configMap);
    }
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
Pair #3993 Negative (Non-Clone)
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3994 Negative (Non-Clone)
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
ID: 2446_1930
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.eolDate(Row r)
    private String eolDate(Row r) {
        try {
            if (r.eolDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.eolDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.eolDate != null ? r.eolDate : "";
    }
Pair #3995 Negative (Non-Clone)
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #3996 Negative (Non-Clone)
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
Pair #3997 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #3998 Negative (Non-Clone)
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 3288_2687
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public DataFormatCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, DataFormat> condition = condition();

            return new DataFormatCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #3999 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
Pair #4000 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 219_243
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosContainerResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosContainerResponse> setCosmosContainerResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
                setMessageHeader(exchange, CosmosDbConstants.DEFAULT_TIME_TO_LIVE_SECONDS,
                        response.getProperties().getDefaultTimeToLiveInSeconds());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #4001 Negative (Non-Clone)
ID: 1272_1111
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performSubscribe(final Message message, AsyncCallback callback)
    public void performSubscribe(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, false);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, false);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
Pair #4002 Negative (Non-Clone)
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #4003 Negative (Non-Clone)
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #4004 Negative (Non-Clone)
ID: 2386_1884
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onMode(String channel, IRCUser user, IRCModeParser modeParser)
        public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
            if (configuration.isOnMode()) {
                Exchange exchange = createOnModeExchange(channel, user, modeParser);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
Pair #4005 Negative (Non-Clone)
ID: 2525_2093
ClassID: 2525
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/Main.java
Name: org.apache.camel.main.Main.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
ID: 1040_901
ClassID: 1040
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.isInputStreamNeeded(Object payload)
    protected boolean isInputStreamNeeded(Object payload) {
        if (payload == null) {
            return false;
        }

        if (payload instanceof Source) {
            return false;
        } else if (payload instanceof String) {
            return false;
        } else if (payload instanceof byte[]) {
            return false;
        } else if (payload instanceof Node) {
            return false;
        }

         
        return true;
    }
Pair #4006 Negative (Non-Clone)
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
Pair #4007 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #4008 Negative (Non-Clone)
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
Pair #4009 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #4010 Negative (Non-Clone)
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #4011 Negative (Non-Clone)
ID: 511_528
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterDestinationFactories(DestinationFactoryManager dfm)
    private void unregisterDestinationFactories(DestinationFactoryManager dfm) {
        for (String ns : getTransportIds()) {
            try {
                if (dfm.getDestinationFactory(ns) == this) {
                    dfm.deregisterDestinationFactory(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
Pair #4012 Negative (Non-Clone)
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #4013 Negative (Non-Clone)
ID: 2472_2012
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jph = (JsonObject) root.get("platform-http");
                        if (jph != null) {
                            String server = jph.getString("server");
                            JsonArray arr = (JsonArray) jph.get("endpoints");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    JsonObject jo = (JsonObject) arr.get(i);
                                    row.server = server;
                                    row.url = jo.getString("url");
                                    row.path = jo.getString("path");
                                    row.verbs = jo.getString("verbs");
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    rows.add(row);
                                }
                            }
                            if (all) {
                                arr = (JsonArray) jph.get("managementEndpoints");
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.server = server;
                                        row.url = jo.getString("url");
                                        row.path = jo.getString("path");
                                        row.verbs = jo.getString("verbs");
                                        row.consumes = jo.getString("consumes");
                                        row.produces = jo.getString("produces");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.verbs),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
ID: 384_430
ClassID: 384
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!getEndpoint().isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #4014 Negative (Non-Clone)
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
Pair #4015 Negative (Non-Clone)
ID: 2667_2351
ClassID: 2667
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
Name: org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.shouldFailOver(Exchange exchange)
    protected boolean shouldFailOver(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (exceptions == null || exceptions.isEmpty()) {
                 
                answer = true;
            } else {
                for (Class<?> exception : exceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }

            if (answer) {
                 
                statistics.onHandledFailure(exchange.getException());
            }
        }

        if (LOG.isTraceEnabled()) {
            LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
        }

        return answer;
    }
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
Pair #4016 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 339_388
ClassID: 339
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #4017 Negative (Non-Clone)
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1062_919
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyQualifiers(List<String> sigPolicyQualifiers)
    public void setSigPolicyQualifiers(List<String> sigPolicyQualifiers) {
        if (sigPolicyQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyQualifiers' is null");
        }
        for (String qualifier : sigPolicyQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one of the policy qualifiers is null or empty");
            }
        }
        this.sigPolicyQualifiers = new ArrayList<>(sigPolicyQualifiers);
    }
Pair #4018 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #4019 Negative (Non-Clone)
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 438_454
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(true);
            if (producer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #4020 Negative (Non-Clone)
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #4021 Negative (Non-Clone)
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #4022 Negative (Non-Clone)
ID: 1784_1466
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSslSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSslSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (sslSocketConnectors != null) {
            answer = sslSocketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #4023 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
Pair #4024 Negative (Non-Clone)
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #4025 Negative (Non-Clone)
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
Pair #4026 Negative (Non-Clone)
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
Pair #4027 Negative (Non-Clone)
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #4028 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #4029 Negative (Non-Clone)
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
Pair #4030 Negative (Non-Clone)
ID: 2186_1717
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.compensate(URL lra, Exchange exchange)
    public CompletableFuture<Void> compensate(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CANCEL), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot compensate LRA");
            }

            return null;
        });
    }
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #4031 Negative (Non-Clone)
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
ID: 454_485
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.createFolderSharedLink(String folderId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFolderSharedLink(
            String folderId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for folder(id={}) with access={} {}",
                    folderId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(access, BoxHelper.ACCESS);

            BoxFolder folder = new BoxFolder(boxConnection, folderId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return folder.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #4032 Negative (Non-Clone)
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #4033 Negative (Non-Clone)
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
Pair #4034 Negative (Non-Clone)
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #4035 Negative (Non-Clone)
ID: 1314_1211
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation)
    private void doCreateOrUpdateJob(Exchange exchange, String operationName, Function<Resource<Job>, Job> operation) {
        String jobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobSpec jobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_SPEC, JobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(jobName)) {
            LOG.error("{} a specific job require specify a job name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific job require specify a job name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific job require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(jobSpec)) {
            LOG.error("{} a specific job require specify a job spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific job require specify a job spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobBuilder jobCreatingBuilder = new JobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).endMetadata()
                    .withSpec(jobSpec);
        } else {
            jobCreatingBuilder.withNewMetadata().withName(jobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(jobSpec);
        }
        Job job = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespaceName)
                        .resource(jobCreatingBuilder.build()));

        prepareOutboundMessage(exchange, job);
    }
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
Pair #4036 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
Pair #4037 Negative (Non-Clone)
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
Pair #4038 Negative (Non-Clone)
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 681_612
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #4039 Negative (Non-Clone)
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 1307_1151
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Nodes Consumer");
        if (executor != null) {
            KubernetesHelper.close(nodesWatcher, nodesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #4040 Negative (Non-Clone)
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
Pair #4041 Negative (Non-Clone)
ID: 3275_2651
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.next()
        public Object next() {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext();
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #4042 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #4043 Negative (Non-Clone)
ID: 452_481
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.copyFile(String fileId, String destinationFolderId, String newName)
    public BoxFile copyFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToCopy = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return fileToCopy.copy(destinationFolder).getResource();
            } else {
                return fileToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #4044 Negative (Non-Clone)
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #4045 Negative (Non-Clone)
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #4046 Negative (Non-Clone)
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #4047 Negative (Non-Clone)
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
ID: 3295_2701
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLSocketFactory>> getSSLSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLSocket>> sslSocketConfigurers = this.getSSLSocketFactorySSLSocketConfigurers(context);

        Configurer<SSLSocketFactory> sslSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLSocketFactory configure(SSLSocketFactory factory) {
                return new SSLSocketFactoryDecorator(
                        factory,
                        sslSocketConfigurers);
            }
        };

        List<Configurer<SSLSocketFactory>> sslSocketFactoryConfigurers = new LinkedList<>();
        sslSocketFactoryConfigurers.add(sslSocketFactoryConfigurer);

        return sslSocketFactoryConfigurers;
    }
Pair #4048 Negative (Non-Clone)
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 2467_1984
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-dump");
        root.put("filter", "*");
        root.put("format", format);
        root.put("uriAsParameters", uriAsParameters);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
Pair #4049 Negative (Non-Clone)
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #4050 Negative (Non-Clone)
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #4051 Negative (Non-Clone)
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
ID: 2250_1781
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemoveAsync(Message message)
    public void onRemoveAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> resultRemoveAsyncKey;
        final CompletableFuture<Boolean> resultRemoveAsyncKeyValue;

        if (ObjectHelper.isEmpty(value)) {
            resultRemoveAsyncKey = cache.removeAsync(key);
            setResult(message, resultRemoveAsyncKey);
        } else {
            resultRemoveAsyncKeyValue = cache.removeAsync(key, value);
            setResult(message, resultRemoveAsyncKeyValue);
        }
    }
Pair #4052 Negative (Non-Clone)
ID: 2613_2259
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JaxbDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("objectFactory", definition.getObjectFactory());
        properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement());
        properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement());
        properties.put("filterNonXmlChars", definition.getFilterNonXmlChars());
        properties.put("fragment", definition.getFragment());
        properties.put("contextPath", definition.getContextPath());
        properties.put("contextPathIsClassName", definition.getContextPathIsClassName());
        properties.put("partClass", definition.getPartClass());
        properties.put("partNamespace", definition.getPartNamespace());
        properties.put("encoding", definition.getEncoding());
        properties.put("namespacePrefix", asRef(definition.getNamespacePrefix()));
        properties.put("schema", definition.getSchema());
        properties.put("schemaSeverityLevel", definition.getSchemaSeverityLevel());
        properties.put("xmlStreamWriterWrapper", definition.getXmlStreamWriterWrapper());
        properties.put("schemaLocation", definition.getSchemaLocation());
        properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation());
        properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties());
        properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols());
    }
ID: 899_767
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java
Name: org.apache.camel.component.google.mail.GoogleMailProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #4053 Negative (Non-Clone)
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #4054 Negative (Non-Clone)
ID: 899_768
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #4055 Negative (Non-Clone)
ID: 1318_1223
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                root.put("masterUrl", client.getMasterUrl().toString());
                root.put("login", "OAuth Token");
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (secretsRefreshTask != null) {
            Instant start = secretsRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("secrets", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 837_721
ClassID: 837
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
Name: org.apache.camel.component.aws2.sns.Sns2Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        HashMap<String, String> metadata = new HashMap<>();
        if (configuration.getQueueArn() != null) {
            metadata.put("queueArn", configuration.getQueueArn());
        }
        if (configuration.getTopicArn() != null) {
            metadata.put("topicArn", configuration.getTopicArn());
        }
        return metadata;
    }
Pair #4056 Negative (Non-Clone)
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 2050_1668
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #4057 Negative (Non-Clone)
ID: 1957_1596
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Index index = this.client.getIndexConnection(indexName);

        UpdateResponse result = index.update(indexId, elements, namespace);

        populateUpdateResponse(result, exchange);

    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #4058 Negative (Non-Clone)
ID: 2522_2078
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMysqlComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMysqlComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMySqlComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMySqlComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMySqlComponent) component).setConfiguration((org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMySqlComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "bigintUnsignedHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBigintUnsignedHandlingMode((java.lang.String) value); return true;
            case "binlogBufferSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBinlogBufferSize((int) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "connectKeepAlive": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAlive((boolean) value); return true;
            case "connectKeepAliveIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAliveIntervalMs((long) value); return true;
            case "connectTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectTimeoutMs((int) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databaseJdbcDriver": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseJdbcDriver((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePort((int) value); return true;
            case "databaseProtocol": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseProtocol((java.lang.String) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseServerId": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerId((long) value); return true;
            case "databaseServerIdOffset": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerIdOffset((long) value); return true;
            case "databaseSslKeystore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystore((java.lang.String) value); return true;
            case "databaseSslKeystorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystorePassword((java.lang.String) value); return true;
            case "databaseSslMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslMode((java.lang.String) value); return true;
            case "databaseSslTruststore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststore((java.lang.String) value); return true;
            case "databaseSslTruststorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststorePassword((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "enableTimeAdjuster": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEnableTimeAdjuster((boolean) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMySqlComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventDeserializationFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventDeserializationFailureHandlingMode((java.lang.String) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "gtidSourceExcludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceExcludes((java.lang.String) value); return true;
            case "gtidSourceFilterDmlEvents": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceFilterDmlEvents((boolean) value); return true;
            case "gtidSourceIncludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceIncludes((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeQuery((boolean) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "inconsistentSchemaHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInconsistentSchemaHandlingMode((java.lang.String) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "minRowCountToStreamResults": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMinRowCountToStreamResults((int) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMySqlComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "useNongracefulDisconnect": getOrCreateConfiguration((DebeziumMySqlComponent) component).setUseNongracefulDisconnect((boolean) value); return true;
            default: return false;
            }
        }
ID: 2273_1799
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(final Exchange exchange, final String messageId)
    public boolean contains(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("contains {} -> {}", messageId, rc[0]);
        return rc[0];
    }
Pair #4059 Negative (Non-Clone)
ID: 1995_1639
ClassID: 1995
File: systems/camel-java/components/camel-log/src/main/java/org/apache/camel/component/log/LogComponent.java
Name: org.apache.camel.component.log.LogComponent.doInit()
    protected void doInit() throws Exception {
        DefaultExchangeFormatter def = new DefaultExchangeFormatter();
        def.setShowExchangePattern(true);
        def.setSkipBodyLineSeparator(true);
        def.setShowBody(true);
        def.setShowBodyType(true);
        def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
        def.setMaxChars(10000);
        this.defaultExchangeFormatter = def;
    }
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #4060 Negative (Non-Clone)
ID: 3280_2669
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.startsWith(final Expression left, final Expression right)
    public static Predicate startsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.startsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "startsWith";
            }
        };
    }
ID: 2474_2015
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseTraceLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        int doneTraces = 0;
        for (Row r : rows) {
            printTrace(r.name, pids.size(), r, limit);
            if (r.done) {
                doneTraces++;
            }
        }

        if (latest) {
             
            return doneTraces == 0;
        } else {
            return true;
        }
    }
Pair #4061 Negative (Non-Clone)
ID: 2605_2234
ClassID: 2605
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
Pair #4062 Negative (Non-Clone)
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #4063 Negative (Non-Clone)
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
Pair #4064 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #4065 Negative (Non-Clone)
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #4066 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
Pair #4067 Negative (Non-Clone)
ID: 1240_1064
ClassID: 1240
File: systems/camel-java/components/camel-ai/camel-kserve/src/generated/java/org/apache/camel/component/kserve/KServeConverterLoader.java
Name: org.apache.camel.component.kserve.KServeConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, inference.GrpcPredictV2.ModelInferRequest.class, inference.GrpcPredictV2.ModelInferRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelInferRequest((inference.GrpcPredictV2.ModelInferRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ModelMetadataRequest.class, inference.GrpcPredictV2.ModelMetadataRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelMetadataRequest((inference.GrpcPredictV2.ModelMetadataRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ModelReadyRequest.class, inference.GrpcPredictV2.ModelReadyRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelReadyRequest((inference.GrpcPredictV2.ModelReadyRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerLiveRequest.class, inference.GrpcPredictV2.ServerLiveRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerLiveRequest((inference.GrpcPredictV2.ServerLiveRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerMetadataRequest.class, inference.GrpcPredictV2.ServerMetadataRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerMetadataRequest((inference.GrpcPredictV2.ServerMetadataRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerReadyRequest.class, inference.GrpcPredictV2.ServerReadyRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerReadyRequest((inference.GrpcPredictV2.ServerReadyRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #4068 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }